def test_authenticate_external_auth_not_enabled(self): Config.objects.set_config("external_auth_url", "") username = factory.make_string() identity = SimpleIdentity(user=username) self.assertIsNone( self.backend.authenticate(self.get_request(), identity=identity) )
def test_authenticate(self): user = factory.make_User() identity = SimpleIdentity(user=user.username) self.assertEqual( self.backend.authenticate(self.get_request(), identity=identity), user, )
def test_authenticate_validate_fails(self): self.mock_validate.return_value = False user = factory.make_User() identity = SimpleIdentity(user=user.username) self.assertIsNone( self.backend.authenticate(self.get_request(), identity=identity)) self.mock_validate.assert_called_with(user, admin_group='admins')
def test_authenticate_create_user(self): username = factory.make_string() identity = SimpleIdentity(user=username) user = self.backend.authenticate(self.get_request(), identity=identity) self.assertIsNotNone(user.id) self.assertEqual(user.username, username) self.assertTrue(user.is_superuser)
def test_authenticate_deactived_user_activate(self): user = factory.make_User() user.is_active = False user.save() identity = SimpleIdentity(user=user.username) authenticated_user = self.backend.authenticate(self.get_request(), identity=identity) self.assertTrue(authenticated_user.is_active)
def test_authenticate_create_user(self): username = factory.make_string() identity = SimpleIdentity(user=username) user = self.backend.authenticate(self.get_request(), identity=identity) self.assertIsNotNone(user.id) self.assertEqual(user.username, username) self.assertFalse(user.is_superuser) self.assertFalse(user.userprofile.is_local) self.mock_validate.assert_called_with(user, admin_group='admins')
def test_authenticate_validate_fails(self): self.mock_validate.return_value = False user = factory.make_User() identity = SimpleIdentity(user=user.username) self.assertIsNone( self.backend.authenticate(self.get_request(), identity=identity)) self.mock_validate.assert_called_with( user, ExternalAuthInfo(type='candid', url='https://auth.example.com', domain='', admin_group='admins'))
def _mock_auth_info(self, username): """Mock bakery authentication, returning an identity. A SimpleIdentity for the specified username is returned. """ mock_auth_checker = mock.Mock() mock_auth_checker.allow.return_value = mock.Mock( identity=SimpleIdentity(user=username)) mock_bakery = mock.Mock() mock_bakery.checker.auth.return_value = mock_auth_checker mock_setup = self.patch(MacaroonDischargeRequest, '_setup_bakery') mock_setup.return_value = mock_bakery
def test_authenticate_create_user(self): username = factory.make_string() identity = SimpleIdentity(user=username) user = self.backend.authenticate(self.get_request(), identity=identity) self.assertIsNotNone(user.id) self.assertEqual(user.username, username) self.assertFalse(user.is_superuser) self.assertFalse(user.userprofile.is_local) self.mock_validate.assert_called_with( user, ExternalAuthInfo(type='candid', url='https://auth.example.com', domain='', admin_group='admins'))
def test_authenticate_validate_fails(self): self.mock_validate.return_value = False user = factory.make_User() identity = SimpleIdentity(user=user.username) self.assertIsNone( self.backend.authenticate(self.get_request(), identity=identity)) self.mock_validate.assert_called_with( user, ExternalAuthInfo( type="candid", url="https://auth.example.com", domain="", admin_group="admins", ), force_check=True, )
def mock_auth_info(self, username=None, exception=None): """Mock bakery authentication, returning an identity. If a username is specified, a SimpleIdentity is returned. If an exception is specified, it's raised by the checker allow() method. Return the mocked bakery object. """ mock_auth_checker = mock.Mock() if username: mock_auth_checker.allow.return_value = mock.Mock( identity=SimpleIdentity(user=username)) if exception: mock_auth_checker.allow.side_effect = exception mock_bakery = mock.Mock() mock_bakery.checker.auth.return_value = mock_auth_checker mock_get_bakery = self.patch(maasserver.macaroon_auth, '_get_bakery') mock_get_bakery.return_value = mock_bakery return mock_bakery
def test_authenticate_local_user_denied(self): user = factory.make_User(is_local=True) identity = SimpleIdentity(user=user.username) self.assertIsNone( self.backend.authenticate(self.get_request(), identity=identity))