def test_leave_session(self): g = GameManager() room_name = 'AAAAAAA' g.locks[room_name] = Lock() socket = 'socket' g.rooms[room_name] = [(False, None, 'user1'), (False, None, 'user2'), (False, None, 'user3')] reason = 'User is not a part of any game' expected = [(socket, { 'type': 'Leave_Session', 'room_name': room_name, 'status': 'failed', 'reason': reason, 'end': False })] self.assertEquals(g.leave_session(room_name, socket), expected) username = '******' g.rooms['BBBBBBB'] = [(False, socket, username)] g.socket_to_username[socket] = username reason = g.socket_to_username[socket] + ' is not a part of the game' expected = [(socket, { 'type': 'Leave_Session', 'room_name': room_name, 'status': 'failed', 'reason': reason, 'end': False })] self.assertEquals(g.leave_session(room_name, socket), expected) g.rooms['BBBBBBB'] = [] g.join_room(room_name, username, socket) self.assertEquals(len(g.rooms[room_name]), 4) self.assertEquals(g.socket_to_room[socket], room_name) self.assertEquals(g.socket_to_username[socket], username) g.leave_session(room_name, socket) self.assertEquals(len(g.rooms[room_name]), 3) self.assertEquals(socket in g.socket_to_room, False) self.assertEquals(socket in g.socket_to_username, False) g.rooms['ASDFQWER'] = [(False, None, 'user1'), (False, socket, 'user2'), (False, None, 'user3')] g.socket_to_username[socket] = 'user2' g.socket_to_room[socket] = 'ASDFQWER' g.locks['ASDFQWER'] = Lock() g.games_in_progress.add('ASDFQWER') g.leave_session('Room Name Not Given', socket) self.assertEquals('ASDFQWER' not in g.games_in_progress, True) self.assertEquals(g.username_used('user2', 'ASDFQWER'), False)
def test_join_room(self): g = GameManager() room = 'ASDFGHJ' username = '******' socket = 'None' reason = 'room name does not exist' g.locks[room] = Lock() self.assertEquals(g.join_room(room, username, socket), [(socket, { 'type': 'Joined', 'room_name': 'ASDFGHJ', 'usernames': [username], 'status': 'failed', 'reason': reason })]) g.rooms[room] = [(None, socket, username)] reason = 'The username: '******' is already taken' self.assertEquals(g.join_room(room, username, socket), [(socket, { 'type': 'Joined', 'room_name': 'ASDFGHJ', 'usernames': [username], 'status': 'failed', 'reason': reason })]) g.socket_to_room[socket] = 'OTHERRM' g.rooms[room] = [(False, None, 'user1')] reason = 'user is already a part of a room' self.assertEquals(g.join_room(room, username, socket), [(socket, { 'type': 'Joined', 'room_name': 'ASDFGHJ', 'usernames': [username], 'status': 'failed', 'reason': reason })]) del g.socket_to_room[socket] expected = [(socket, { 'type': 'Joined', 'room_name': 'ASDFGHJ', 'usernames': [username], 'status': 'failed', 'reason': reason })] g.join_room(room, username, socket) self.assertEquals(g.socket_to_room[socket], room) self.assertEquals(g.socket_to_username[socket], username) self.assertEquals(g.rooms[room], [(False, None, 'user1'), (False, socket, username)])