class TestUserRepository(unittest.TestCase): def setUp(self): self.user_repository = UserRepository(test_database_connection()) self.user_repository.delete_all() self.test_user_one = User('test_user_one', 'testpw') self.test_user_two = User('test_user_two', 'test') self.user_repository.create_user(self.test_user_one) self.user_repository.create_user(self.test_user_two) def test_get_all_users(self): users = self.user_repository.get_all_users() self.assertEqual(len(users), 2) self.assertEqual(users[0].username, self.test_user_one.username) def test_login_user(self): user = self.user_repository.login_user(self.test_user_one) self.assertEqual(user.username, self.test_user_one.username) def test_login_user_fails_with_wrong_credentials(self): invalid_user = User('test_user_one', 'passwordwrong') user = self.user_repository.login_user(invalid_user) self.assertEqual(user, None) def test_create_user(self): user = User('masamainio', 'anttiangeli') created_user = self.user_repository.create_user(user) users = self.user_repository.get_all_users() self.assertEqual(created_user.username, 'masamainio') self.assertEqual(len(users), 3) def test_get_single_user(self): user = self.user_repository.get_single_user(self.test_user_one) self.assertEqual(user.username, self.test_user_one.username) def test_get_single_user_returns_none_if_not_found(self): fake_user = User('risu', 'mies') user = self.user_repository.get_single_user(fake_user) self.assertEqual(user, None)
class TestPasswordService(unittest.TestCase): def setUp(self): self.password_repository = PasswordRepository(test_database_connection()) self.password_service = PasswordService(self.password_repository) self.password_repository.delete_all_passwords() self.user_repository = UserRepository(test_database_connection()) self.user_service = UserService(self.user_repository) self.test_user_one = User("test_user_one", "test_pw1") self.test_user_two = User("test_user_two", "test_pw2") self.user_service.create_user(self.test_user_one) self.user_service.create_user(self.test_user_two) def test_num_of_users_correct(self): users = self.user_repository.get_all_users() self.assertEqual(len(users), 2) def test_add_new_password(self): user_for_password = self.user_repository.get_single_user(self.test_user_one) password_to_add = Password( "test_username", "test_pw", "test_site", user_for_password.user_id ) added_password = self.password_service.add_new_password(password_to_add) self.assertEqual(added_password.user_id, user_for_password.user_id) self.assertEqual(added_password, password_to_add) def test_get_passwords_by_user(self): user_for_password = self.user_repository.get_single_user(self.test_user_one) for i in range(5): password_to_add = Password( f"test_username{i}", f"test_pw{i}", f"test_site{i}", user_for_password.user_id ) self.password_service.add_new_password(password_to_add) passwords_by_user = self.password_service.get_passwords_by_user(user_for_password) self.assertEqual(len(passwords_by_user), 5) self.assertEqual(passwords_by_user[0].username, "test_username0")
class TestUserService(unittest.TestCase): def setUp(self): self.user_repository = UserRepository(test_database_connection()) self.user_service = UserService(self.user_repository) self.user_repository.delete_all() self.test_user_one = User('testuser', 'testuser1', 1) self.test_user_two = User('secondo', 'testuser2', 2) def test_create_user(self): result = self.user_service.create_user(self.test_user_one) users = self.user_repository.get_all_users() self.assertEqual(result.username, self.test_user_one.username) self.assertEqual(len(users), 1) def test_create_user_fails_if_too_long_username(self): test_user = User('a' * 31, 'test_pw') result = self.user_service.create_user(test_user) users = self.user_repository.get_all_users() self.assertEqual(result, None) self.assertEqual(len(users), 0) def test_create_user_fails_if_too_long_password(self): test_user = User('aasi_boy', 'a' * 51) result = self.user_service.create_user(test_user) users = self.user_repository.get_all_users() self.assertEqual(result, None) self.assertEqual(len(users), 0) def test_create_user_returns_none_if_user_exists(self): user = self.user_service.create_user(self.test_user_one) result = self.user_service.create_user(self.test_user_one) self.assertIsNone(result) def test_create_user_returns_none_if_no_username_given(self): test_user = User(None, 'testing', 69) result = self.user_service.create_user(test_user) self.assertIsNone(result) def test_create_user_returns_none_if_no_password_given(self): test_user = User('testing', None, 69) result = self.user_service.create_user(test_user) self.assertIsNone(result) def test_get_user(self): self.user_service.create_user(self.test_user_two) result = self.user_service.get_user(self.test_user_two) self.assertEqual(result.username, self.test_user_two.username) def test_login_user(self): self.user_service.create_user(self.test_user_one) result = self.user_service.login_user(self.test_user_one) self.assertEqual(result.username, self.test_user_one.username)