def test_should_return_false_to_correct_access_token(self): user = UserLogin("user_id", "name", "login", "password") user.access_token = "access_token" user_login_information = UserLogin("user_id", "name", "login", "password") user_login_information.access_token = "access_token" response = Validator.is_wrong_access_token(user, user_login_information) self.assertEqual(False, response)
def test_should_raise_non_valid_access_token_exception(self): user = UserLogin("user_id", "name", "login", "password") user.access_token = "access_token" user_login_information = UserLogin("user_id", "name", "login", "password") user_login_information.access_token = "access_token2" self.__user_repository_instance.get_user_by_login.return_value = user_login_information self.assertRaises(NonValidAccessTokenException, self.__user_business.validate_access_token, user)
def test_should_validate_access_token(self): user = UserLogin("user_id", "name", "login", "password") user.access_token = "access_token" user_login_information = UserLogin("user_id", "name", "login", "password") user_login_information.access_token = "access_token" self.__user_repository_instance.get_user_by_login.return_value = user_login_information self.__user_business.validate_access_token(user) self.assertTrue( self.__user_repository_instance.get_user_by_login.called)
def test_should_update_access_token(self): user = UserLogin("5c7c0c22fd8a2f36f6cdea65", "name", "login", "password") user.access_token = "access_token" self.__user_repository.set_access_token(user) self.assertTrue(self.__mongo_configuration_instance.database. user_collection.update_one.called)
def validate_token(self, access_token_json: dict): self.__logger.info( f"Validating access token user: {access_token_json['login']}") Validator.validate_user_dict_validate_access_token(access_token_json) user = UserLogin(None, None, access_token_json["login"], "") user.access_token = access_token_json["access_token"] self.__user_bussiness.get_user_by_login(user.login) self.__user_bussiness.validate_access_token(user) user_json = dumps(user.access_token_validate_to_dict()) return Response(user_json, status=200)
def get_access_token(self, user: UserLogin): self.__logger.info( f"Login process for user - Access Token: {user.user_id}") access_token = self.__access_token_business.create_access_token(user) user.access_token = access_token created = self.__user_repository.set_access_token(user) if not created: raise AccessTokenException() return user
def get_user_by_login(self, login: str) -> UserLogin: self.__logger.info(f"Getting user by login: {login}") user = None for document in self.__user_collection.find({"login": login}): user_id = str(document["_id"]) user_name = str(document["name"]) user_login = str(document["login"]) user_password = str(document["password"]) user_access_token = str(document["access_token"]) user = UserLogin(user_id, user_name, user_login, "") user.password = user_password user.access_token = user_access_token return user