Ejemplo n.º 1
0
 def test_on_set_class(self, magic_make, magic_item_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = self._makeLobby(owner=o)
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.join(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     instance.ctx.g.player = p
     instance.allowed_methods = set([
         'on_leave', 'recv_connect', 'on_set_team', 'on_set_class',
         'on_toggle_ready'
     ])
     instance.on_set_class(0)
     self.assertEqual(
         instance.allowed_methods,
         set([
             'on_leave', 'recv_connect', 'on_set_class', 'on_toggle_ready',
             'on_set_team'
         ]))
     self.assertEqual(l.teams[0].players[0].class_id, 0)
Ejemplo n.º 2
0
 def test_get_team_listing(self, magic_get_summary):
     l = self._makeLobby('A', self.admin, '', '', '')
     l.teams.append(Team('Red'))
     l.teams.append(Team('Blu'))
     db.session.add(l)
     db.session.commit()
     magic_get_summary.return_value = {'personaname':'Anonymous'}
     resp = self.client.get('/admin/rest/lobbies/%d/teams' % l.id)
     self.assertTrue('teams' in resp.json)
     teams = resp.json['teams']
     self.assertEqual(len(teams), 2)
Ejemplo n.º 3
0
 def test_player_count(self):
     instance = self._makeOne()
     from lobbypy.models import Player, Team, LobbyPlayer
     p = Player('0')
     lp = LobbyPlayer(p)
     t_A = Team('Red')
     t_A.players.extend(2 * [lp])
     t_B = Team('Blu')
     t_A.players.extend(3 * [lp])
     instance.teams.extend([t_A, t_B])
     self.assertEqual(instance.player_count, 5)
Ejemplo n.º 4
0
 def test_delete_lobby_player(self):
     l = self._makeLobby('Lobby', self.admin, 'test', 'test', 'test')
     t = Team('Red')
     p = Player('0')
     t.join(p)
     l.teams.append(t)
     db.session.add(p)
     db.session.add(l)
     db.session.commit()
     resp = self.client.delete('/admin/rest/lobbies/%d/teams/0/players/%d' %
         (l.id, p.id))
     self.assertStatus(resp, 200)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams[0].players), 0)
Ejemplo n.º 5
0
 def test_update_lobby_player(self):
     l = Lobby('Lobby', self.admin, 'test', 'test', 'test', 'test')
     t = Team('Red')
     p = Player('0')
     t.append_player(p)
     l.teams.append(t)
     db.session.add(p)
     db.session.add(l)
     db.session.commit()
     resp = self.client.put('/admin/rest/lobbies/%d/teams/0/players/%d' %
         (l.id, p.id), data=dict(class_id = 0))
     self.assertStatus(resp, 200)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams[0].players), 1)
     self.assertEqual(l.teams[0].players[0].class_id, 0)
Ejemplo n.º 6
0
 def test_get_lobby_player(self, magic_get_summary):
     l = self._makeLobby('A', self.admin, '', '', '')
     t = Team('Red')
     t.join(self.admin)
     l.teams.append(t)
     db.session.add(l)
     db.session.commit()
     magic_get_summary.return_value = {'personaname':'Anonymous'}
     resp = self.client.get('/admin/rest/lobbies/%d/teams/0/players/%d' %
             (l.id, self.admin.id))
     self.assertTrue('lobby_player' in resp.json)
     player = resp.json['lobby_player']
     self.assertTrue('player' in player)
     self.assertTrue('class_id' in player)
     self.assertTrue('ready' in player)
Ejemplo n.º 7
0
 def test_on_kick(self, magic_make, magic_item_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = self._makeLobby(owner=o)
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.join(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     g.player = o
     instance.on_kick(p.id)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams[0]), 0)
 def test_on_kick(self, magic_make, magic_item_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = self._makeLobby(owner=o)
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.join(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     g.player = o
     instance.on_kick(p.id)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams[0]), 0)
Ejemplo n.º 9
0
 def test_on_set_lobby_name(self, magic_make, magic_item_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = Lobby('', o, '', '', '', '')
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.append_player(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     g.player = o
     instance.on_set_lobby_name('test')
     l = db.session.merge(l)
     self.assertEqual(l.name, 'test')
Ejemplo n.º 10
0
 def test_delete_team(self):
     l = self._makeLobby('Lobby', self.admin, 'test', 'test', 'test')
     t = Team('Red')
     l.teams.append(t)
     db.session.add(l)
     db.session.commit()
     resp = self.client.delete('/admin/rest/lobbies/%d/teams/0' % l.id)
     self.assertStatus(resp, 200)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams), 0)
Ejemplo n.º 11
0
 def post(self, lobby_id):
     l = Lobby.query.get(lobby_id)
     if l is None:
         abort(404)
     if 'name' not in request.form:
         abort(405)
     t = Team(request.form['name'])
     l.teams.append(t)
     db.session.commit()
     return jsonify(201, id=len(l.teams) - 1)
Ejemplo n.º 12
0
 def test_toggle_ready(self):
     instance = self._makeOne()
     from lobbypy.models import Player, Team, LobbyPlayer
     t = Team('Red')
     p = Player('0')
     lp = LobbyPlayer(p)
     t.players.append(lp)
     instance.teams.append(t)
     instance.toggle_ready(p)
     self.assertTrue(instance.teams[0].players[0].ready)
Ejemplo n.º 13
0
 def test_set_team(self):
     instance = self._makeOne()
     from lobbypy.models import Player, Team
     t = Team('Red')
     instance.teams.append(t)
     p = Player('0')
     instance.spectators.append(p)
     instance.set_team(p, 0)
     self.assertEqual(len(instance.teams[0].players), 1)
     self.assertEqual(instance.teams[0].players[0].player, p)
Ejemplo n.º 14
0
 def test_update_team(self):
     l = self._makeLobby('Lobby', self.admin, 'test', 'test', 'test')
     t = Team('Red')
     l.teams.append(t)
     db.session.add(l)
     db.session.commit()
     resp = self.client.put('/admin/rest/lobbies/%d/teams/0' % l.id,
             data=dict(name='Blu'))
     self.assertStatus(resp, 200)
     l = db.session.merge(l)
     self.assertEqual(l.teams[0].name, 'Blu')
Ejemplo n.º 15
0
 def test_get_team(self, magic_get_summary):
     l = self._makeLobby('A', self.admin, '', '', '')
     l.teams.append(Team('Red'))
     db.session.add(l)
     db.session.commit()
     magic_get_summary.return_value = {'personaname':'Anonymous'}
     resp = self.client.get('/admin/rest/lobbies/%d/teams/0' % l.id)
     self.assertTrue('team' in resp.json)
     team = resp.json['team']
     self.assertTrue('name' in team)
     self.assertTrue('players' in team)
Ejemplo n.º 16
0
 def test_set_class(self):
     instance = self._makeOne()
     from lobbypy.models import Player, Team, LobbyPlayer
     t = Team('Red')
     p = Player('0')
     lp = LobbyPlayer(p)
     t.players.append(lp)
     instance.teams.append(t)
     print len(instance.teams)
     instance.set_class(p, 0)
     self.assertEqual(instance.teams[0].players[0].class_id, 0)
 def test_on_set_class(self, magic_make, magic_item_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = self._makeLobby(owner=o)
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.join(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     instance.ctx.g.player = p
     instance.allowed_methods = set(['on_leave',
         'recv_connect', 'on_set_team', 'on_set_class', 'on_toggle_ready'])
     instance.on_set_class(0)
     self.assertEqual(instance.allowed_methods, set(['on_leave',
         'recv_connect', 'on_set_class', 'on_toggle_ready', 'on_set_team']))
     self.assertEqual(l.teams[0].players[0].class_id, 0)
Ejemplo n.º 18
0
 def test_on_toggle_ready(self, magic_make, magic_broadcast):
     instance = self._makeOne()
     o = Player('')
     l = Lobby('', o, '', '', '', '')
     t = Team('Red')
     l.teams.append(t)
     p = Player('0')
     t.append_player(p)
     db.session.add(o)
     db.session.add(l)
     db.session.add(t)
     db.session.add(p)
     db.session.commit()
     instance.lobby_id = l.id
     g.player = p
     instance.allowed_methods = set(['on_leave',
         'recv_connect', 'on_set_team', 'on_set_class', 'on_toggle_ready'])
     instance.on_toggle_ready()
     self.assertEqual(instance.allowed_methods, set(['on_leave',
         'recv_connect', 'on_toggle_ready']))
     self.assertTrue(l.teams[0].players[0].ready)
Ejemplo n.º 19
0
 def test_append_lobby_player(self):
     l = self._makeLobby('Lobby', self.admin, 'test', 'test', 'test')
     t = Team('Red')
     p = Player('0')
     l.teams.append(t)
     db.session.add(p)
     db.session.add(l)
     db.session.commit()
     resp = self.client.post('/admin/rest/lobbies/%d/teams/0/players' %
         l.id, data=dict(player_id = p.id))
     self.assertStatus(resp, 201)
     l = db.session.merge(l)
     self.assertEqual(len(l.teams[0].players), 1)
Ejemplo n.º 20
0
 def test_with_teamed_lobbies(self):
     from lobbypy.models import Player, Lobby, Team
     o = Player('1')
     p = Player('0')
     db.session.add(o)
     db.session.add(p)
     l = Lobby('test', o, 'test', 'test', 'test', teams=[])
     t = Team('Red')
     l.teams.append(t)
     l.teams[0].join(p)
     db.session.add(l)
     db.session.commit()
     rv = self._callFUT(p)
     l_dels = []
     for l_del in rv:
         l_dels.append(l_del)
     self.assertEqual(len(l_dels), 1)
     self.assertEqual(l_dels[0], (l, False))
Ejemplo n.º 21
0
 def test_get_lobby_player_listing(self, magic_get_summary):
     l = self._makeLobby('A', self.admin, '', '', '')
     t = Team('Red')
     p = Player('0')
     t.join(self.admin)
     t.join(p)
     l.teams.append(t)
     db.session.add(l)
     db.session.commit()
     magic_get_summary.return_value = {'personaname':'Anonymous'}
     resp = self.client.get('/admin/rest/lobbies/%d/teams/0/players' % l.id)
     self.assertTrue('lobby_players' in resp.json)
     l_players = resp.json['lobby_players']
     self.assertEqual(len(l_players), 2)
Ejemplo n.º 22
0
 def _makeOne(self, name='Red'):
     from lobbypy.models import Team
     return Team(name)