def test_lobby_password(self): game_manager = GameManager() game_manager.create_lobby("TEST", password="******") lobbies = game_manager.get_lobbies_list() self.assertTrue(lobbies[0]["hasPassword"])
def test_lobby_password_encrypted(self): game_manager = GameManager() lobby_key = game_manager.create_lobby("TEST", password="******") lobby: Lobby = game_manager.get_lobby(lobby_key) self.assertNotEqual(lobby.password_encrypted, "test") self.assertTrue(lobby.check_password_correct("test"))
def test_lobby_create(self): game_manager = GameManager() lobby_key = game_manager.create_lobby("TEST") lobbies = game_manager.get_lobbies_list() self.assertTrue(len(lobbies) == 1) self.assertEqual(lobbies[0]["key"], lobby_key) self.assertEqual(lobbies[0]["name"], "TEST")
def test_lobby_random_salt(self): game_manager = GameManager() all_keys = [] for i in range(10): lobby_key = game_manager.create_lobby("TEST{}".format(i)) all_keys.append(lobby_key) # remove duplicates with set, it should be equal removed_duplicates = list(set(all_keys)) self.assertEqual(sorted(all_keys), sorted(removed_duplicates))
def test_check_password_correct(self): game_manager = GameManager() lobby_key = game_manager.create_lobby("TEST", password="******") lobby: Lobby = game_manager.get_lobby(lobby_key) # password is encrypted self.assertNotEqual(lobby.password_encrypted, "test") # correct password is working and others are not self.assertTrue(lobby.check_password_correct("test")) self.assertFalse(lobby.check_password_correct("test1")) self.assertFalse(lobby.check_password_correct("1234"))
def test_lobby_random_salt(self): game_manager = GameManager() lobby_key1 = game_manager.create_lobby("TEST1", password="******") lobby_key2 = game_manager.create_lobby("TEST2", password="******") lobby1: Lobby = game_manager.get_lobby(lobby_key1) lobby2: Lobby = game_manager.get_lobby(lobby_key2) # each lobby has different salt, passwords are the same but encrypted values are not self.assertNotEqual(lobby1.salt, lobby2.salt) self.assertNotEqual(lobby1.password_encrypted, lobby2.password_encrypted) # both lobbies have same password self.assertTrue(lobby1.check_password_correct("test")) self.assertTrue(lobby2.check_password_correct("test"))