def test_with_external_auth_strip_trailing_slash(self): Config.objects.set_config('external_auth_url', 'https://example.com/') request = factory.make_fake_request('/') middleware = ExternalAuthInfoMiddleware() middleware.process_request(request) self.assertEqual(request.external_auth_info.type, 'macaroon') self.assertEqual(request.external_auth_info.url, 'https://example.com')
def test_authenticate_username_password(self): password = factory.make_string() user = factory.make_User(password=password) backend = MAASAuthorizationBackend() request = factory.make_fake_request('/') ExternalAuthInfoMiddleware(lambda request: request)(request) self.assertEqual( backend.authenticate(request, username=user.username, password=password), user)
def test_authenticate_username_password_external_auth(self): Config.objects.set_config('external_auth_url', 'https://example.com') password = factory.make_string() user = factory.make_User(password=password) backend = MAASAuthorizationBackend() request = factory.make_fake_request('/') ExternalAuthInfoMiddleware(lambda request: request)(request) self.assertIsNone( backend.authenticate(request, username=user.username, password=password))
def get_request(self): request = factory.make_fake_request('/') # add external_auth_info to the request return ExternalAuthInfoMiddleware(lambda request: request)(request)
def process_request(self, request): def get_response(request): return None middleware = ExternalAuthInfoMiddleware(get_response) return middleware(request)
def test_without_external_auth(self): request = factory.make_fake_request('/') middleware = ExternalAuthInfoMiddleware() middleware.process_request(request) self.assertIsNone(request.external_auth_info)
def get_request(self): request = factory.make_fake_request('/') # add external_auth_info to the request ExternalAuthInfoMiddleware().process_request(request) return request