Esempio n. 1
0
 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)
     )
Esempio n. 2
0
 def test_authenticate(self):
     user = factory.make_User()
     identity = SimpleIdentity(user=user.username)
     self.assertEqual(
         self.backend.authenticate(self.get_request(), identity=identity),
         user,
     )
Esempio n. 3
0
 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')
Esempio n. 4
0
 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)
Esempio n. 5
0
 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)
Esempio n. 6
0
 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')
Esempio n. 7
0
 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'))
Esempio n. 8
0
    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
Esempio n. 9
0
 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'))
Esempio n. 10
0
 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,
     )
Esempio n. 11
0
    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
Esempio n. 12
0
 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))