Beispiel #1
0
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)