Mercurial > libervia-backend
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 |