예제 #1
0
 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')
예제 #2
0
 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)
예제 #3
0
 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))
예제 #4
0
 def get_request(self):
     request = factory.make_fake_request('/')
     # add external_auth_info to the request
     return ExternalAuthInfoMiddleware(lambda request: request)(request)
예제 #5
0
    def process_request(self, request):
        def get_response(request):
            return None

        middleware = ExternalAuthInfoMiddleware(get_response)
        return middleware(request)
예제 #6
0
 def test_without_external_auth(self):
     request = factory.make_fake_request('/')
     middleware = ExternalAuthInfoMiddleware()
     middleware.process_request(request)
     self.assertIsNone(request.external_auth_info)
예제 #7
0
 def get_request(self):
     request = factory.make_fake_request('/')
     # add external_auth_info to the request
     ExternalAuthInfoMiddleware().process_request(request)
     return request