def test_validate_user_update(self): '''This test case ensures validation works correctly for existing users.''' request = Request.blank("/test", {}) request.method = 'PUT' resource = User(username="******", password="******") resource.user_id = 55 self._test_validate_user_template(resource, request)
def test_validate_user_update(self): '''This test case ensures validation works correctly for existing users.''' request = Request.blank("/test", {}) request.method = 'PUT' resource = User(username="******", password="******") resource.user_id = 55 self._test_validate_user_template(resource, request)
def _test_authenticate_ok(self, return_url, expected_url): '''This method provides a template test case for ensuring authenticate succeeds for various return_url values.''' user = User(username="******", password="******", person_id=1) user.user_id = 123 creation_time, expiration_time = self._mock_creationexpiration_time() token = Token({ "client_id": self._IDP_CLIENTID, "type": "login", "user_id": user.user_id, "creation_time": creation_time, "expiration_time": expiration_time }) request, user_repo_cls, user_repo, tokens_service_cls, \ tokens_service, clienturl_facade = self._mock_authenticate_dependencies(token, user, return_url) response = self._idp_controller.authenticate( request, tokens_service_cls=tokens_service_cls, user_repo_cls=user_repo_cls) self.assertIsNotNone(response) self.assertEqual(302, response.status_code) location = response.headers.get("Location") self.assertEqual(expected_url, location) user_repo.load_by_username.assert_called_once_with(user.username) self._hasher.hash_password.assert_called_once_with( user.password, DictionaryObject({"salt": user.user_id})) tokens_service_cls.assert_called_once_with(clienturl_facade.session) tokens_service.generate.assert_called_once_with( { "client_id": self._IDP_CLIENTID, "user_id": user.user_id, "expires_in": self._EXPIRES_IN }, TokenGeneratorFactory.LOGIN_TOKEN) tokens_service.encrypt.assert_called_once_with(token, token.client_id)
def _test_authenticate_ok(self, return_url, expected_url): '''This method provides a template test case for ensuring authenticate succeeds for various return_url values.''' user = User(username="******", password="******", person_id=1) user.user_id = 123 creation_time, expiration_time = self._mock_creationexpiration_time() token = Token({"client_id": self._IDP_CLIENTID, "type": "login", "user_id": user.user_id, "creation_time": creation_time, "expiration_time": expiration_time}) request, user_repo_cls, user_repo, tokens_service_cls, \ tokens_service, clienturl_facade = self._mock_authenticate_dependencies(token, user, return_url) response = self._idp_controller.authenticate(request, tokens_service_cls=tokens_service_cls, user_repo_cls=user_repo_cls) self.assertIsNotNone(response) self.assertEqual(302, response.status_code) location = response.headers.get("Location") self.assertEqual(expected_url, location) user_repo.load_by_username.assert_called_once_with(user.username) self._hasher.hash_password.assert_called_once_with(user.password, DictionaryObject({"salt": user.user_id})) tokens_service_cls.assert_called_once_with(clienturl_facade.session) tokens_service.generate.assert_called_once_with({"client_id": self._IDP_CLIENTID, "user_id": user.user_id, "expires_in": self._EXPIRES_IN}, TokenGeneratorFactory.LOGIN_TOKEN) tokens_service.encrypt.assert_called_once_with(token, token.client_id)