comparison sat/test/test_plugin_misc_room_game.py @ 2624:56f94936df1e

code style reformatting using black
author Goffi <goffi@goffi.org>
date Wed, 27 Jun 2018 20:14:46 +0200
parents 26edcf3a30eb
children 003b8b4b56a7
comparison
equal deleted inserted replaced
2623:49533de4540b 2624:56f94936df1e
28 from wokkel.muc import User 28 from wokkel.muc import User
29 29
30 from logging import WARNING 30 from logging import WARNING
31 31
32 # Data used for test initialization 32 # Data used for test initialization
33 NAMESERVICE = 'http://www.goffi.org/protocol/dummy' 33 NAMESERVICE = "http://www.goffi.org/protocol/dummy"
34 TAG = 'dummy' 34 TAG = "dummy"
35 PLUGIN_INFO = { 35 PLUGIN_INFO = {
36 "name": "Dummy plugin", 36 "name": "Dummy plugin",
37 "import_name": "DUMMY", 37 "import_name": "DUMMY",
38 "type": "MISC", 38 "type": "MISC",
39 "protocols": [], 39 "protocols": [],
40 "dependencies": [], 40 "dependencies": [],
41 "main": "Dummy", 41 "main": "Dummy",
42 "handler": "no", # handler MUST be "no" (dynamic inheritance) 42 "handler": "no", # handler MUST be "no" (dynamic inheritance)
43 "description": _("""Dummy plugin to test room game""") 43 "description": _("""Dummy plugin to test room game"""),
44 } 44 }
45 45
46 ROOM_JID = JID(Const.MUC_STR[0]) 46 ROOM_JID = JID(Const.MUC_STR[0])
47 PROFILE = Const.PROFILE[0] 47 PROFILE = Const.PROFILE[0]
48 OTHER_PROFILE = Const.PROFILE[1] 48 OTHER_PROFILE = Const.PROFILE[1]
49 49
50 50
51 class RoomGameTest(helpers.SatTestCase): 51 class RoomGameTest(helpers.SatTestCase):
52
53 def setUp(self): 52 def setUp(self):
54 self.host = helpers.FakeSAT() 53 self.host = helpers.FakeSAT()
55 54
56 def reinit(self, game_init={}, player_init={}): 55 def reinit(self, game_init={}, player_init={}):
57 self.host.reinit() 56 self.host.reinit()
58 self.plugin = plugin.RoomGame(self.host) 57 self.plugin = plugin.RoomGame(self.host)
59 self.plugin._init_(self.host, PLUGIN_INFO, (NAMESERVICE, TAG), game_init, player_init) 58 self.plugin._init_(
60 self.plugin_0045 = self.host.plugins['XEP-0045'] = helpers_plugins.FakeXEP_0045(self.host) 59 self.host, PLUGIN_INFO, (NAMESERVICE, TAG), game_init, player_init
61 self.plugin_0249 = self.host.plugins['XEP-0249'] = helpers_plugins.FakeXEP_0249(self.host) 60 )
61 self.plugin_0045 = self.host.plugins["XEP-0045"] = helpers_plugins.FakeXEP_0045(
62 self.host
63 )
64 self.plugin_0249 = self.host.plugins["XEP-0249"] = helpers_plugins.FakeXEP_0249(
65 self.host
66 )
62 for profile in Const.PROFILE: 67 for profile in Const.PROFILE:
63 self.host.getClient(profile) # init self.host.profiles[profile] 68 self.host.getClient(profile) # init self.host.profiles[profile]
64 69
65 def initGame(self, muc_index, user_index): 70 def initGame(self, muc_index, user_index):
66 self.plugin_0045.joinRoom(user_index, muc_index) 71 self.plugin_0045.joinRoom(user_index, muc_index)
73 else: 78 else:
74 content += ">" 79 content += ">"
75 for i in xrange(0, len(players)): 80 for i in xrange(0, len(players)):
76 content += "<player index='%s'>%s</player>" % (i, players[i]) 81 content += "<player index='%s'>%s</player>" % (i, players[i])
77 content += "</%s>" % tag 82 content += "</%s>" % tag
78 return "<message to='%s' type='%s'><%s xmlns='%s'>%s</dummy></message>" % (to.full(), type_, TAG, NAMESERVICE, content) 83 return "<message to='%s' type='%s'><%s xmlns='%s'>%s</dummy></message>" % (
84 to.full(),
85 type_,
86 TAG,
87 NAMESERVICE,
88 content,
89 )
79 90
80 def test_createOrInvite_solo(self): 91 def test_createOrInvite_solo(self):
81 self.reinit() 92 self.reinit()
82 self.plugin_0045.joinRoom(0, 0) 93 self.plugin_0045.joinRoom(0, 0)
83 self.plugin._createOrInvite(self.plugin_0045.getRoom(0, 0), [], Const.PROFILE[0]) 94 self.plugin._createOrInvite(self.plugin_0045.getRoom(0, 0), [], Const.PROFILE[0])
85 96
86 def test_createOrInvite_multi_not_waiting(self): 97 def test_createOrInvite_multi_not_waiting(self):
87 self.reinit() 98 self.reinit()
88 self.plugin_0045.joinRoom(0, 0) 99 self.plugin_0045.joinRoom(0, 0)
89 other_players = [Const.JID[1], Const.JID[2]] 100 other_players = [Const.JID[1], Const.JID[2]]
90 self.plugin._createOrInvite(self.plugin_0045.getRoom(0, 0), other_players, Const.PROFILE[0]) 101 self.plugin._createOrInvite(
102 self.plugin_0045.getRoom(0, 0), other_players, Const.PROFILE[0]
103 )
91 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) 104 self.assertTrue(self.plugin._gameExists(ROOM_JID, True))
92 105
93 def test_createOrInvite_multi_waiting(self): 106 def test_createOrInvite_multi_waiting(self):
94 self.reinit(player_init={'score': 0}) 107 self.reinit(player_init={"score": 0})
95 self.plugin_0045.joinRoom(0, 0) 108 self.plugin_0045.joinRoom(0, 0)
96 other_players = [Const.JID[1], Const.JID[2]] 109 other_players = [Const.JID[1], Const.JID[2]]
97 self.plugin._createOrInvite(self.plugin_0045.getRoom(0, 0), other_players, Const.PROFILE[0]) 110 self.plugin._createOrInvite(
111 self.plugin_0045.getRoom(0, 0), other_players, Const.PROFILE[0]
112 )
98 self.assertTrue(self.plugin._gameExists(ROOM_JID, False)) 113 self.assertTrue(self.plugin._gameExists(ROOM_JID, False))
99 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) 114 self.assertFalse(self.plugin._gameExists(ROOM_JID, True))
100 115
101 def test_initGame(self): 116 def test_initGame(self):
102 self.reinit() 117 self.reinit()
103 self.initGame(0, 0) 118 self.initGame(0, 0)
104 self.assertTrue(self.plugin.isReferee(ROOM_JID, Const.JID[0].user)) 119 self.assertTrue(self.plugin.isReferee(ROOM_JID, Const.JID[0].user))
105 self.assertEqual([], self.plugin.games[ROOM_JID]['players']) 120 self.assertEqual([], self.plugin.games[ROOM_JID]["players"])
106 121
107 def test_checkJoinAuth(self): 122 def test_checkJoinAuth(self):
108 self.reinit() 123 self.reinit()
109 check = lambda value: getattr(self, "assert%s" % value)(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[0], Const.JID[0].user)) 124 check = lambda value: getattr(self, "assert%s" % value)(
125 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[0], Const.JID[0].user)
126 )
110 check(False) 127 check(False)
111 # to test the "invited" mode, the referee must be different than the user to test 128 # to test the "invited" mode, the referee must be different than the user to test
112 self.initGame(0, 1) 129 self.initGame(0, 1)
113 self.plugin.join_mode = self.plugin.ALL 130 self.plugin.join_mode = self.plugin.ALL
114 check(True) 131 check(True)
116 check(False) 133 check(False)
117 self.plugin.invitations[ROOM_JID] = [(None, [Const.JID[0].userhostJID()])] 134 self.plugin.invitations[ROOM_JID] = [(None, [Const.JID[0].userhostJID()])]
118 check(True) 135 check(True)
119 self.plugin.join_mode = self.plugin.NONE 136 self.plugin.join_mode = self.plugin.NONE
120 check(False) 137 check(False)
121 self.plugin.games[ROOM_JID]['players'].append(Const.JID[0].user) 138 self.plugin.games[ROOM_JID]["players"].append(Const.JID[0].user)
122 check(True) 139 check(True)
123 140
124 def test_updatePlayers(self): 141 def test_updatePlayers(self):
125 self.reinit() 142 self.reinit()
126 self.initGame(0, 0) 143 self.initGame(0, 0)
127 self.assertEqual(self.plugin.games[ROOM_JID]['players'], []) 144 self.assertEqual(self.plugin.games[ROOM_JID]["players"], [])
128 self.plugin._updatePlayers(ROOM_JID, [], True, Const.PROFILE[0]) 145 self.plugin._updatePlayers(ROOM_JID, [], True, Const.PROFILE[0])
129 self.assertEqual(self.plugin.games[ROOM_JID]['players'], []) 146 self.assertEqual(self.plugin.games[ROOM_JID]["players"], [])
130 self.plugin._updatePlayers(ROOM_JID, ["user1"], True, Const.PROFILE[0]) 147 self.plugin._updatePlayers(ROOM_JID, ["user1"], True, Const.PROFILE[0])
131 self.assertEqual(self.plugin.games[ROOM_JID]['players'], ["user1"]) 148 self.assertEqual(self.plugin.games[ROOM_JID]["players"], ["user1"])
132 self.plugin._updatePlayers(ROOM_JID, ["user2", "user3"], True, Const.PROFILE[0]) 149 self.plugin._updatePlayers(ROOM_JID, ["user2", "user3"], True, Const.PROFILE[0])
133 self.assertEqual(self.plugin.games[ROOM_JID]['players'], ["user1", "user2", "user3"]) 150 self.assertEqual(
134 self.plugin._updatePlayers(ROOM_JID, ["user2", "user3"], True, Const.PROFILE[0]) # should not be stored twice 151 self.plugin.games[ROOM_JID]["players"], ["user1", "user2", "user3"]
135 self.assertEqual(self.plugin.games[ROOM_JID]['players'], ["user1", "user2", "user3"]) 152 )
153 self.plugin._updatePlayers(
154 ROOM_JID, ["user2", "user3"], True, Const.PROFILE[0]
155 ) # should not be stored twice
156 self.assertEqual(
157 self.plugin.games[ROOM_JID]["players"], ["user1", "user2", "user3"]
158 )
136 159
137 def test_synchronizeRoom(self): 160 def test_synchronizeRoom(self):
138 self.reinit() 161 self.reinit()
139 self.initGame(0, 0) 162 self.initGame(0, 0)
140 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0]) 163 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0])
141 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "players", [])) 164 self.assertEqual(
142 self.plugin.games[ROOM_JID]['players'].append("test1") 165 self.host.getSentMessageXml(0),
166 self._expectedMessage(ROOM_JID, "groupchat", "players", []),
167 )
168 self.plugin.games[ROOM_JID]["players"].append("test1")
143 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0]) 169 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0])
144 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "players", ["test1"])) 170 self.assertEqual(
145 self.plugin.games[ROOM_JID]['started'] = True 171 self.host.getSentMessageXml(0),
146 self.plugin.games[ROOM_JID]['players'].append("test2") 172 self._expectedMessage(ROOM_JID, "groupchat", "players", ["test1"]),
173 )
174 self.plugin.games[ROOM_JID]["started"] = True
175 self.plugin.games[ROOM_JID]["players"].append("test2")
147 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0]) 176 self.plugin._synchronizeRoom(ROOM_JID, [Const.MUC[0]], Const.PROFILE[0])
148 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "started", ["test1", "test2"])) 177 self.assertEqual(
149 self.plugin.games[ROOM_JID]['players'].append("test3") 178 self.host.getSentMessageXml(0),
150 self.plugin.games[ROOM_JID]['players'].append("test4") 179 self._expectedMessage(ROOM_JID, "groupchat", "started", ["test1", "test2"]),
180 )
181 self.plugin.games[ROOM_JID]["players"].append("test3")
182 self.plugin.games[ROOM_JID]["players"].append("test4")
151 user1 = JID(ROOM_JID.userhost() + "/" + Const.JID[0].user) 183 user1 = JID(ROOM_JID.userhost() + "/" + Const.JID[0].user)
152 user2 = JID(ROOM_JID.userhost() + "/" + Const.JID[1].user) 184 user2 = JID(ROOM_JID.userhost() + "/" + Const.JID[1].user)
153 self.plugin._synchronizeRoom(ROOM_JID, [user1, user2], Const.PROFILE[0]) 185 self.plugin._synchronizeRoom(ROOM_JID, [user1, user2], Const.PROFILE[0])
154 self.assertEqualXML(self.host.getSentMessageXml(0), self._expectedMessage(user1, "normal", "started", ["test1", "test2", "test3", "test4"])) 186 self.assertEqualXML(
155 self.assertEqualXML(self.host.getSentMessageXml(0), self._expectedMessage(user2, "normal", "started", ["test1", "test2", "test3", "test4"])) 187 self.host.getSentMessageXml(0),
188 self._expectedMessage(
189 user1, "normal", "started", ["test1", "test2", "test3", "test4"]
190 ),
191 )
192 self.assertEqualXML(
193 self.host.getSentMessageXml(0),
194 self._expectedMessage(
195 user2, "normal", "started", ["test1", "test2", "test3", "test4"]
196 ),
197 )
156 198
157 def test_invitePlayers(self): 199 def test_invitePlayers(self):
158 self.reinit() 200 self.reinit()
159 self.initGame(0, 0) 201 self.initGame(0, 0)
160 self.plugin_0045.joinRoom(0, 1) 202 self.plugin_0045.joinRoom(0, 1)
161 self.assertEqual(self.plugin.invitations[ROOM_JID], []) 203 self.assertEqual(self.plugin.invitations[ROOM_JID], [])
162 room = self.plugin_0045.getRoom(0, 0) 204 room = self.plugin_0045.getRoom(0, 0)
163 nicks = self.plugin._invitePlayers(room, [Const.JID[1], Const.JID[2]], Const.JID[0].user, Const.PROFILE[0]) 205 nicks = self.plugin._invitePlayers(
164 self.assertEqual(self.plugin.invitations[ROOM_JID][0][1], [Const.JID[1].userhostJID(), Const.JID[2].userhostJID()]) 206 room, [Const.JID[1], Const.JID[2]], Const.JID[0].user, Const.PROFILE[0]
207 )
208 self.assertEqual(
209 self.plugin.invitations[ROOM_JID][0][1],
210 [Const.JID[1].userhostJID(), Const.JID[2].userhostJID()],
211 )
165 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost 212 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost
166 self.assertEqual(nicks, [Const.JID[1].user, Const.JID[2].user]) 213 self.assertEqual(nicks, [Const.JID[1].user, Const.JID[2].user])
167 214
168 nicks = self.plugin._invitePlayers(room, [Const.JID[1], Const.JID[3]], Const.JID[0].user, Const.PROFILE[0]) 215 nicks = self.plugin._invitePlayers(
169 self.assertEqual(self.plugin.invitations[ROOM_JID][1][1], [Const.JID[1].userhostJID(), Const.JID[3].userhostJID()]) 216 room, [Const.JID[1], Const.JID[3]], Const.JID[0].user, Const.PROFILE[0]
217 )
218 self.assertEqual(
219 self.plugin.invitations[ROOM_JID][1][1],
220 [Const.JID[1].userhostJID(), Const.JID[3].userhostJID()],
221 )
170 # this time Const.JID[1] and Const.JID[3] have the same user but the host differs 222 # this time Const.JID[1] and Const.JID[3] have the same user but the host differs
171 self.assertEqual(nicks, [Const.JID[1].user]) 223 self.assertEqual(nicks, [Const.JID[1].user])
172 224
173 def test_checkInviteAuth(self): 225 def test_checkInviteAuth(self):
174
175 def check(value, index): 226 def check(value, index):
176 nick = self.plugin_0045.getNick(0, index) 227 nick = self.plugin_0045.getNick(0, index)
177 getattr(self, "assert%s" % value)(self.plugin._checkInviteAuth(ROOM_JID, nick)) 228 getattr(self, "assert%s" % value)(
178 229 self.plugin._checkInviteAuth(ROOM_JID, nick)
179 self.reinit() 230 )
180 231
181 for mode in [self.plugin.FROM_ALL, self.plugin.FROM_NONE, self.plugin.FROM_REFEREE, self.plugin.FROM_PLAYERS]: 232 self.reinit()
233
234 for mode in [
235 self.plugin.FROM_ALL,
236 self.plugin.FROM_NONE,
237 self.plugin.FROM_REFEREE,
238 self.plugin.FROM_PLAYERS,
239 ]:
182 self.plugin.invite_mode = mode 240 self.plugin.invite_mode = mode
183 check(True, 0) 241 check(True, 0)
184 242
185 self.initGame(0, 0) 243 self.initGame(0, 0)
186 self.plugin.invite_mode = self.plugin.FROM_ALL 244 self.plugin.invite_mode = self.plugin.FROM_ALL
191 check(False, 1) 249 check(False, 1)
192 self.plugin.invite_mode = self.plugin.FROM_REFEREE 250 self.plugin.invite_mode = self.plugin.FROM_REFEREE
193 check(True, 0) 251 check(True, 0)
194 check(False, 1) 252 check(False, 1)
195 user_nick = self.plugin_0045.joinRoom(0, 1) 253 user_nick = self.plugin_0045.joinRoom(0, 1)
196 self.plugin.games[ROOM_JID]['players'].append(user_nick) 254 self.plugin.games[ROOM_JID]["players"].append(user_nick)
197 self.plugin.invite_mode = self.plugin.FROM_PLAYERS 255 self.plugin.invite_mode = self.plugin.FROM_PLAYERS
198 check(True, 0) 256 check(True, 0)
199 check(True, 1) 257 check(True, 1)
200 check(False, 2) 258 check(False, 2)
201 259
208 def test_isPlayer(self): 266 def test_isPlayer(self):
209 self.reinit() 267 self.reinit()
210 self.initGame(0, 0) 268 self.initGame(0, 0)
211 self.assertTrue(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNick(0, 0))) 269 self.assertTrue(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNick(0, 0)))
212 user_nick = self.plugin_0045.joinRoom(0, 1) 270 user_nick = self.plugin_0045.joinRoom(0, 1)
213 self.plugin.games[ROOM_JID]['players'].append(user_nick) 271 self.plugin.games[ROOM_JID]["players"].append(user_nick)
214 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick)) 272 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick))
215 self.assertFalse(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNick(0, 2))) 273 self.assertFalse(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNick(0, 2)))
216 274
217 def test_checkWaitAuth(self): 275 def test_checkWaitAuth(self):
218
219 def check(value, other_players, confirmed, rest): 276 def check(value, other_players, confirmed, rest):
220 room = self.plugin_0045.getRoom(0, 0) 277 room = self.plugin_0045.getRoom(0, 0)
221 self.assertEqual((value, confirmed, rest), self.plugin._checkWaitAuth(room, other_players)) 278 self.assertEqual(
279 (value, confirmed, rest), self.plugin._checkWaitAuth(room, other_players)
280 )
222 281
223 self.reinit() 282 self.reinit()
224 self.initGame(0, 0) 283 self.initGame(0, 0)
225 other_players = [Const.JID[1], Const.JID[3]] 284 other_players = [Const.JID[1], Const.JID[3]]
226 self.plugin.wait_mode = self.plugin.FOR_NONE 285 self.plugin.wait_mode = self.plugin.FOR_NONE
227 check(True, [], [], []) 286 check(True, [], [], [])
228 check(True, [Const.JID[0]], [], [Const.JID[0]]) # getRoomNickOfUser checks for the other users only 287 check(
288 True, [Const.JID[0]], [], [Const.JID[0]]
289 ) # getRoomNickOfUser checks for the other users only
229 check(True, other_players, [], other_players) 290 check(True, other_players, [], other_players)
230 self.plugin.wait_mode = self.plugin.FOR_ALL 291 self.plugin.wait_mode = self.plugin.FOR_ALL
231 check(True, [], [], []) 292 check(True, [], [], [])
232 check(False, [Const.JID[0]], [], [Const.JID[0]]) 293 check(False, [Const.JID[0]], [], [Const.JID[0]])
233 check(False, other_players, [], other_players) 294 check(False, other_players, [], other_players)
234 self.plugin_0045.joinRoom(0, 1) 295 self.plugin_0045.joinRoom(0, 1)
235 check(False, other_players, [], other_players) 296 check(False, other_players, [], other_players)
236 self.plugin_0045.joinRoom(0, 4) 297 self.plugin_0045.joinRoom(0, 4)
237 check(False, other_players, [self.plugin_0045.getNickOfUser(0, 1, 0)], [Const.JID[3]]) 298 check(
299 False,
300 other_players,
301 [self.plugin_0045.getNickOfUser(0, 1, 0)],
302 [Const.JID[3]],
303 )
238 self.plugin_0045.joinRoom(0, 3) 304 self.plugin_0045.joinRoom(0, 3)
239 check(True, other_players, [self.plugin_0045.getNickOfUser(0, 1, 0), 305 check(
240 self.plugin_0045.getNickOfUser(0, 3, 0)], []) 306 True,
307 other_players,
308 [
309 self.plugin_0045.getNickOfUser(0, 1, 0),
310 self.plugin_0045.getNickOfUser(0, 3, 0),
311 ],
312 [],
313 )
241 314
242 other_players = [Const.JID[1], Const.JID[3], Const.JID[2]] 315 other_players = [Const.JID[1], Const.JID[3], Const.JID[2]]
243 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost 316 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost
244 check(True, other_players, [self.plugin_0045.getNickOfUser(0, 1, 0), 317 check(
245 self.plugin_0045.getNickOfUser(0, 3, 0), 318 True,
246 self.plugin_0045.getNickOfUser(0, 2, 0)], []) 319 other_players,
320 [
321 self.plugin_0045.getNickOfUser(0, 1, 0),
322 self.plugin_0045.getNickOfUser(0, 3, 0),
323 self.plugin_0045.getNickOfUser(0, 2, 0),
324 ],
325 [],
326 )
247 327
248 def test_prepareRoom_trivial(self): 328 def test_prepareRoom_trivial(self):
249 self.reinit() 329 self.reinit()
250 other_players = [] 330 other_players = []
251 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 331 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
252 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) 332 self.assertTrue(self.plugin._gameExists(ROOM_JID, True))
253 self.assertTrue(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[0], Const.JID[0].user)) 333 self.assertTrue(
334 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[0], Const.JID[0].user)
335 )
254 self.assertTrue(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[0].user)) 336 self.assertTrue(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[0].user))
255 self.assertEqual((True, [], []), self.plugin._checkWaitAuth(ROOM_JID, [])) 337 self.assertEqual((True, [], []), self.plugin._checkWaitAuth(ROOM_JID, []))
256 self.assertTrue(self.plugin.isReferee(ROOM_JID, Const.JID[0].user)) 338 self.assertTrue(self.plugin.isReferee(ROOM_JID, Const.JID[0].user))
257 self.assertTrue(self.plugin.isPlayer(ROOM_JID, Const.JID[0].user)) 339 self.assertTrue(self.plugin.isPlayer(ROOM_JID, Const.JID[0].user))
258 self.assertEqual((False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 340 self.assertEqual(
341 (False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
342 )
259 343
260 def test_prepareRoom_invite(self): 344 def test_prepareRoom_invite(self):
261 self.reinit() 345 self.reinit()
262 other_players = [Const.JID[1], Const.JID[2]] 346 other_players = [Const.JID[1], Const.JID[2]]
263 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 347 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
264 room = self.plugin_0045.getRoom(0, 0) 348 room = self.plugin_0045.getRoom(0, 0)
265 349
266 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) 350 self.assertTrue(self.plugin._gameExists(ROOM_JID, True))
267 self.assertTrue(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[1], Const.JID[1].user)) 351 self.assertTrue(
268 self.assertFalse(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[3], Const.JID[3].user)) 352 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[1], Const.JID[1].user)
353 )
354 self.assertFalse(
355 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[3], Const.JID[3].user)
356 )
269 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[1].user)) 357 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[1].user))
270 self.assertEqual((True, [], other_players), self.plugin._checkWaitAuth(room, other_players)) 358 self.assertEqual(
359 (True, [], other_players), self.plugin._checkWaitAuth(room, other_players)
360 )
271 361
272 player2_nick = self.plugin_0045.joinRoom(0, 1) 362 player2_nick = self.plugin_0045.joinRoom(0, 1)
273 self.plugin.userJoinedTrigger(room, room.roster[player2_nick], PROFILE) 363 self.plugin.userJoinedTrigger(room, room.roster[player2_nick], PROFILE)
274 self.assertTrue(self.plugin.isPlayer(ROOM_JID, player2_nick)) 364 self.assertTrue(self.plugin.isPlayer(ROOM_JID, player2_nick))
275 self.assertTrue(self.plugin._checkInviteAuth(ROOM_JID, player2_nick)) 365 self.assertTrue(self.plugin._checkInviteAuth(ROOM_JID, player2_nick))
276 self.assertFalse(self.plugin.isReferee(ROOM_JID, player2_nick)) 366 self.assertFalse(self.plugin.isReferee(ROOM_JID, player2_nick))
277 self.assertTrue(self.plugin.isPlayer(ROOM_JID, player2_nick)) 367 self.assertTrue(self.plugin.isPlayer(ROOM_JID, player2_nick))
278 self.assertTrue(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNickOfUser(0, 2, 0))) 368 self.assertTrue(
369 self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNickOfUser(0, 2, 0))
370 )
279 self.assertFalse(self.plugin.isPlayer(ROOM_JID, "xxx")) 371 self.assertFalse(self.plugin.isPlayer(ROOM_JID, "xxx"))
280 self.assertEqual((False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, Const.PROFILE[1])) 372 self.assertEqual(
373 (False, False),
374 self.plugin._checkCreateGameAndInit(ROOM_JID, Const.PROFILE[1]),
375 )
281 376
282 def test_prepareRoom_score1(self): 377 def test_prepareRoom_score1(self):
283 self.reinit(player_init={'score': 0}) 378 self.reinit(player_init={"score": 0})
284 other_players = [Const.JID[1], Const.JID[2]] 379 other_players = [Const.JID[1], Const.JID[2]]
285 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 380 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
286 room = self.plugin_0045.getRoom(0, 0) 381 room = self.plugin_0045.getRoom(0, 0)
287 382
288 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) 383 self.assertFalse(self.plugin._gameExists(ROOM_JID, True))
289 self.assertTrue(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[1], Const.JID[1].user)) 384 self.assertTrue(
290 self.assertFalse(self.plugin._checkJoinAuth(ROOM_JID, Const.JID[3], Const.JID[3].user)) 385 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[1], Const.JID[1].user)
386 )
387 self.assertFalse(
388 self.plugin._checkJoinAuth(ROOM_JID, Const.JID[3], Const.JID[3].user)
389 )
291 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[1].user)) 390 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, Const.JID[1].user))
292 self.assertEqual((False, [], other_players), self.plugin._checkWaitAuth(room, other_players)) 391 self.assertEqual(
392 (False, [], other_players), self.plugin._checkWaitAuth(room, other_players)
393 )
293 394
294 user_nick = self.plugin_0045.joinRoom(0, 1) 395 user_nick = self.plugin_0045.joinRoom(0, 1)
295 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE) 396 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE)
296 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick)) 397 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick))
297 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, user_nick)) 398 self.assertFalse(self.plugin._checkInviteAuth(ROOM_JID, user_nick))
298 self.assertFalse(self.plugin.isReferee(ROOM_JID, user_nick)) 399 self.assertFalse(self.plugin.isReferee(ROOM_JID, user_nick))
299 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick)) 400 self.assertTrue(self.plugin.isPlayer(ROOM_JID, user_nick))
300 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost 401 # the following assertion is True because Const.JID[1] and Const.JID[2] have the same userhost
301 self.assertTrue(self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNickOfUser(0, 2, 0))) 402 self.assertTrue(
403 self.plugin.isPlayer(ROOM_JID, self.plugin_0045.getNickOfUser(0, 2, 0))
404 )
302 # the following assertion is True because Const.JID[1] nick in the room is equal to Const.JID[3].user 405 # the following assertion is True because Const.JID[1] nick in the room is equal to Const.JID[3].user
303 self.assertTrue(self.plugin.isPlayer(ROOM_JID, Const.JID[3].user)) 406 self.assertTrue(self.plugin.isPlayer(ROOM_JID, Const.JID[3].user))
304 # but Const.JID[3] is actually not in the room 407 # but Const.JID[3] is actually not in the room
305 self.assertEqual(self.plugin_0045.getNickOfUser(0, 3, 0), None) 408 self.assertEqual(self.plugin_0045.getNickOfUser(0, 3, 0), None)
306 self.assertEqual((True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, Const.PROFILE[0])) 409 self.assertEqual(
410 (True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, Const.PROFILE[0])
411 )
307 412
308 def test_prepareRoom_score2(self): 413 def test_prepareRoom_score2(self):
309 self.reinit(player_init={'score': 0}) 414 self.reinit(player_init={"score": 0})
310 other_players = [Const.JID[1], Const.JID[4]] 415 other_players = [Const.JID[1], Const.JID[4]]
311 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 416 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
312 room = self.plugin_0045.getRoom(0, 0) 417 room = self.plugin_0045.getRoom(0, 0)
313 418
314 user_nick = self.plugin_0045.joinRoom(0, 1) 419 user_nick = self.plugin_0045.joinRoom(0, 1)
315 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE) 420 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE)
316 self.assertEqual((True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 421 self.assertEqual(
422 (True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
423 )
317 user_nick = self.plugin_0045.joinRoom(0, 4) 424 user_nick = self.plugin_0045.joinRoom(0, 4)
318 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE) 425 self.plugin.userJoinedTrigger(room, room.roster[user_nick], PROFILE)
319 self.assertEqual((False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 426 self.assertEqual(
427 (False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
428 )
320 429
321 def test_userJoinedTrigger(self): 430 def test_userJoinedTrigger(self):
322 self.reinit(player_init={"xxx": "xyz"}) 431 self.reinit(player_init={"xxx": "xyz"})
323 other_players = [Const.JID[1], Const.JID[3]] 432 other_players = [Const.JID[1], Const.JID[3]]
324 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 433 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
325 nicks = [self.plugin_0045.getNick(0, 0)] 434 nicks = [self.plugin_0045.getNick(0, 0)]
326 435
327 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "players", nicks)) 436 self.assertEqual(
437 self.host.getSentMessageXml(0),
438 self._expectedMessage(ROOM_JID, "groupchat", "players", nicks),
439 )
328 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 1) 440 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 1)
329 441
330 # wrong profile 442 # wrong profile
331 user_nick = self.plugin_0045.joinRoom(0, 1) 443 user_nick = self.plugin_0045.joinRoom(0, 1)
332 room = self.plugin_0045.getRoom(0, 1) 444 room = self.plugin_0045.getRoom(0, 1)
333 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), OTHER_PROFILE) 445 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), OTHER_PROFILE)
334 self.assertEqual(self.host.getSentMessage(0), None) # no new message has been sent 446 self.assertEqual(
447 self.host.getSentMessage(0), None
448 ) # no new message has been sent
335 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started 449 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started
336 450
337 # referee profile, user is allowed, wait for one more 451 # referee profile, user is allowed, wait for one more
338 room = self.plugin_0045.getRoom(0, 0) 452 room = self.plugin_0045.getRoom(0, 0)
339 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE) 453 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE)
340 nicks.append(user_nick) 454 nicks.append(user_nick)
341 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "players", nicks)) 455 self.assertEqual(
456 self.host.getSentMessageXml(0),
457 self._expectedMessage(ROOM_JID, "groupchat", "players", nicks),
458 )
342 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started 459 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started
343 460
344 # referee profile, user is not allowed 461 # referee profile, user is not allowed
345 user_nick = self.plugin_0045.joinRoom(0, 4) 462 user_nick = self.plugin_0045.joinRoom(0, 4)
346 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE) 463 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE)
347 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(JID(ROOM_JID.userhost() + '/' + user_nick), "normal", "players", nicks)) 464 self.assertEqual(
465 self.host.getSentMessageXml(0),
466 self._expectedMessage(
467 JID(ROOM_JID.userhost() + "/" + user_nick), "normal", "players", nicks
468 ),
469 )
348 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started 470 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) # game not started
349 471
350 # referee profile, user is allowed, everybody here 472 # referee profile, user is allowed, everybody here
351 user_nick = self.plugin_0045.joinRoom(0, 3) 473 user_nick = self.plugin_0045.joinRoom(0, 3)
352 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE) 474 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE)
353 nicks.append(user_nick) 475 nicks.append(user_nick)
354 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "started", nicks)) 476 self.assertEqual(
477 self.host.getSentMessageXml(0),
478 self._expectedMessage(ROOM_JID, "groupchat", "started", nicks),
479 )
355 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) # game started 480 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) # game started
356 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0) 481 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0)
357 482
358 # wait for none 483 # wait for none
359 self.reinit() 484 self.reinit()
362 room = self.plugin_0045.getRoom(0, 0) 487 room = self.plugin_0045.getRoom(0, 0)
363 nicks = [self.plugin_0045.getNick(0, 0)] 488 nicks = [self.plugin_0045.getNick(0, 0)]
364 user_nick = self.plugin_0045.joinRoom(0, 3) 489 user_nick = self.plugin_0045.joinRoom(0, 3)
365 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE) 490 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE)
366 nicks.append(user_nick) 491 nicks.append(user_nick)
367 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "started", nicks)) 492 self.assertEqual(
493 self.host.getSentMessageXml(0),
494 self._expectedMessage(ROOM_JID, "groupchat", "started", nicks),
495 )
368 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) 496 self.assertTrue(self.plugin._gameExists(ROOM_JID, True))
369 497
370 def test_userLeftTrigger(self): 498 def test_userLeftTrigger(self):
371 self.reinit(player_init={"xxx": "xyz"}) 499 self.reinit(player_init={"xxx": "xyz"})
372 other_players = [Const.JID[1], Const.JID[3], Const.JID[4]] 500 other_players = [Const.JID[1], Const.JID[3], Const.JID[4]]
373 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE) 501 self.plugin.prepareRoom(other_players, ROOM_JID, PROFILE)
374 room = self.plugin_0045.getRoom(0, 0) 502 room = self.plugin_0045.getRoom(0, 0)
375 nicks = [self.plugin_0045.getNick(0, 0)] 503 nicks = [self.plugin_0045.getNick(0, 0)]
376 self.assertEqual(self.plugin.invitations[ROOM_JID][0][1], [Const.JID[1].userhostJID(), Const.JID[3].userhostJID(), Const.JID[4].userhostJID()]) 504 self.assertEqual(
505 self.plugin.invitations[ROOM_JID][0][1],
506 [
507 Const.JID[1].userhostJID(),
508 Const.JID[3].userhostJID(),
509 Const.JID[4].userhostJID(),
510 ],
511 )
377 512
378 # one user joins 513 # one user joins
379 user_nick = self.plugin_0045.joinRoom(0, 1) 514 user_nick = self.plugin_0045.joinRoom(0, 1)
380 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE) 515 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE)
381 nicks.append(user_nick) 516 nicks.append(user_nick)
382 517
383 # the user leaves 518 # the user leaves
384 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 519 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
385 room = self.plugin_0045.getRoom(0, 1) 520 room = self.plugin_0045.getRoom(0, 1)
386 # to not call self.plugin_0045.leaveRoom(0, 1) here, we are testing the trigger with a wrong profile 521 # to not call self.plugin_0045.leaveRoom(0, 1) here, we are testing the trigger with a wrong profile
387 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[1]), Const.PROFILE[1]) # not the referee 522 self.plugin.userLeftTrigger(
388 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 523 room, User(user_nick, Const.JID[1]), Const.PROFILE[1]
524 ) # not the referee
525 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
389 room = self.plugin_0045.getRoom(0, 0) 526 room = self.plugin_0045.getRoom(0, 0)
390 user_nick = self.plugin_0045.leaveRoom(0, 1) 527 user_nick = self.plugin_0045.leaveRoom(0, 1)
391 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[1]), PROFILE) # referee 528 self.plugin.userLeftTrigger(
529 room, User(user_nick, Const.JID[1]), PROFILE
530 ) # referee
392 nicks.pop() 531 nicks.pop()
393 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 532 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
394 533
395 # all the users join 534 # all the users join
396 user_nick = self.plugin_0045.joinRoom(0, 1) 535 user_nick = self.plugin_0045.joinRoom(0, 1)
397 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE) 536 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[1]), PROFILE)
398 nicks.append(user_nick) 537 nicks.append(user_nick)
400 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE) 539 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE)
401 nicks.append(user_nick) 540 nicks.append(user_nick)
402 user_nick = self.plugin_0045.joinRoom(0, 4) 541 user_nick = self.plugin_0045.joinRoom(0, 4)
403 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE) 542 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE)
404 nicks.append(user_nick) 543 nicks.append(user_nick)
405 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 544 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
406 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0) 545 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0)
407 546
408 # one user leaves 547 # one user leaves
409 user_nick = self.plugin_0045.leaveRoom(0, 4) 548 user_nick = self.plugin_0045.leaveRoom(0, 4)
410 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[4]), PROFILE) 549 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[4]), PROFILE)
411 nicks.pop() 550 nicks.pop()
412 self.assertEqual(self.plugin.invitations[ROOM_JID][0][1], [Const.JID[4].userhostJID()]) 551 self.assertEqual(
552 self.plugin.invitations[ROOM_JID][0][1], [Const.JID[4].userhostJID()]
553 )
413 554
414 # another leaves 555 # another leaves
415 user_nick = self.plugin_0045.leaveRoom(0, 3) 556 user_nick = self.plugin_0045.leaveRoom(0, 3)
416 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[3]), PROFILE) 557 self.plugin.userLeftTrigger(room, User(user_nick, Const.JID[3]), PROFILE)
417 nicks.pop() 558 nicks.pop()
418 self.assertEqual(self.plugin.invitations[ROOM_JID][0][1], [Const.JID[4].userhostJID(), Const.JID[3].userhostJID()]) 559 self.assertEqual(
560 self.plugin.invitations[ROOM_JID][0][1],
561 [Const.JID[4].userhostJID(), Const.JID[3].userhostJID()],
562 )
419 563
420 # they can join again 564 # they can join again
421 user_nick = self.plugin_0045.joinRoom(0, 3) 565 user_nick = self.plugin_0045.joinRoom(0, 3)
422 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE) 566 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[3]), PROFILE)
423 nicks.append(user_nick) 567 nicks.append(user_nick)
424 user_nick = self.plugin_0045.joinRoom(0, 4) 568 user_nick = self.plugin_0045.joinRoom(0, 4)
425 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE) 569 self.plugin.userJoinedTrigger(room, User(user_nick, Const.JID[4]), PROFILE)
426 nicks.append(user_nick) 570 nicks.append(user_nick)
427 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 571 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
428 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0) 572 self.assertTrue(len(self.plugin.invitations[ROOM_JID]) == 0)
429 573
430 def test__checkCreateGameAndInit(self): 574 def test__checkCreateGameAndInit(self):
431 self.reinit() 575 self.reinit()
432 helpers.muteLogging() 576 helpers.muteLogging()
433 self.assertEqual((False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 577 self.assertEqual(
578 (False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
579 )
434 helpers.unmuteLogging() 580 helpers.unmuteLogging()
435 581
436 nick = self.plugin_0045.joinRoom(0, 0) 582 nick = self.plugin_0045.joinRoom(0, 0)
437 self.assertEqual((True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 583 self.assertEqual(
584 (True, False), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
585 )
438 self.assertTrue(self.plugin._gameExists(ROOM_JID, False)) 586 self.assertTrue(self.plugin._gameExists(ROOM_JID, False))
439 self.assertFalse(self.plugin._gameExists(ROOM_JID, True)) 587 self.assertFalse(self.plugin._gameExists(ROOM_JID, True))
440 self.assertTrue(self.plugin.isReferee(ROOM_JID, nick)) 588 self.assertTrue(self.plugin.isReferee(ROOM_JID, nick))
441 589
442 helpers.muteLogging() 590 helpers.muteLogging()
443 self.assertEqual((False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)) 591 self.assertEqual(
592 (False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)
593 )
444 helpers.unmuteLogging() 594 helpers.unmuteLogging()
445 595
446 self.plugin_0045.joinRoom(0, 1) 596 self.plugin_0045.joinRoom(0, 1)
447 self.assertEqual((False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)) 597 self.assertEqual(
598 (False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)
599 )
448 600
449 self.plugin.createGame(ROOM_JID, [Const.JID[1]], PROFILE) 601 self.plugin.createGame(ROOM_JID, [Const.JID[1]], PROFILE)
450 self.assertEqual((False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)) 602 self.assertEqual(
451 self.assertEqual((False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)) 603 (False, True), self.plugin._checkCreateGameAndInit(ROOM_JID, PROFILE)
604 )
605 self.assertEqual(
606 (False, False), self.plugin._checkCreateGameAndInit(ROOM_JID, OTHER_PROFILE)
607 )
452 608
453 def test_createGame(self): 609 def test_createGame(self):
454 610
455 self.reinit(player_init={"xxx": "xyz"}) 611 self.reinit(player_init={"xxx": "xyz"})
456 nicks = [] 612 nicks = []
458 nicks.append(self.plugin_0045.joinRoom(0, i)) 614 nicks.append(self.plugin_0045.joinRoom(0, i))
459 615
460 # game not exists 616 # game not exists
461 self.plugin.createGame(ROOM_JID, nicks, PROFILE) 617 self.plugin.createGame(ROOM_JID, nicks, PROFILE)
462 self.assertTrue(self.plugin._gameExists(ROOM_JID, True)) 618 self.assertTrue(self.plugin._gameExists(ROOM_JID, True))
463 self.assertEqual(self.plugin.games[ROOM_JID]['players'], nicks) 619 self.assertEqual(self.plugin.games[ROOM_JID]["players"], nicks)
464 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "started", nicks)) 620 self.assertEqual(
621 self.host.getSentMessageXml(0),
622 self._expectedMessage(ROOM_JID, "groupchat", "started", nicks),
623 )
465 for nick in nicks: 624 for nick in nicks:
466 self.assertEqual('init', self.plugin.games[ROOM_JID]['status'][nick]) 625 self.assertEqual("init", self.plugin.games[ROOM_JID]["status"][nick])
467 self.assertEqual(self.plugin.player_init, self.plugin.games[ROOM_JID]['players_data'][nick]) 626 self.assertEqual(
468 self.plugin.games[ROOM_JID]['players_data'][nick]["xxx"] = nick 627 self.plugin.player_init, self.plugin.games[ROOM_JID]["players_data"][nick]
628 )
629 self.plugin.games[ROOM_JID]["players_data"][nick]["xxx"] = nick
469 for nick in nicks: 630 for nick in nicks:
470 # checks that a copy of self.player_init has been done and not a reference 631 # checks that a copy of self.player_init has been done and not a reference
471 self.assertEqual(nick, self.plugin.games[ROOM_JID]['players_data'][nick]['xxx']) 632 self.assertEqual(
633 nick, self.plugin.games[ROOM_JID]["players_data"][nick]["xxx"]
634 )
472 635
473 # game exists, current profile is referee 636 # game exists, current profile is referee
474 self.reinit(player_init={"xxx": "xyz"}) 637 self.reinit(player_init={"xxx": "xyz"})
475 self.initGame(0, 0) 638 self.initGame(0, 0)
476 self.plugin.games[ROOM_JID]['started'] = True 639 self.plugin.games[ROOM_JID]["started"] = True
477 self.plugin.createGame(ROOM_JID, nicks, PROFILE) 640 self.plugin.createGame(ROOM_JID, nicks, PROFILE)
478 self.assertEqual(self.host.getSentMessageXml(0), self._expectedMessage(ROOM_JID, "groupchat", "started", nicks)) 641 self.assertEqual(
642 self.host.getSentMessageXml(0),
643 self._expectedMessage(ROOM_JID, "groupchat", "started", nicks),
644 )
479 645
480 # game exists, current profile is not referee 646 # game exists, current profile is not referee
481 self.reinit(player_init={"xxx": "xyz"}) 647 self.reinit(player_init={"xxx": "xyz"})
482 self.initGame(0, 0) 648 self.initGame(0, 0)
483 self.plugin.games[ROOM_JID]['started'] = True 649 self.plugin.games[ROOM_JID]["started"] = True
484 self.plugin_0045.joinRoom(0, 1) 650 self.plugin_0045.joinRoom(0, 1)
485 self.plugin.createGame(ROOM_JID, nicks, OTHER_PROFILE) 651 self.plugin.createGame(ROOM_JID, nicks, OTHER_PROFILE)
486 self.assertEqual(self.host.getSentMessage(0), None) # no sync message has been sent by other_profile 652 self.assertEqual(
653 self.host.getSentMessage(0), None
654 ) # no sync message has been sent by other_profile