class MandragoreBackendTestCase(TestCase): def setUp(self): self.user = User.objects.create_user( username='******', email='*****@*****.**', password='******' ) self.backend = MandragoreBackend() def test_invalid_username(self): user = self.backend.authenticate( username='******', password='******' ) self.assertIsNone(user) def test_no_externaldb_in_settings(self): with self.settings(EXTERNAL_DATABASES=None): user = self.backend.authenticate( username='******', password='******' ) self.assertIsNone(user) def test_no_mandragore_in_externaldb_settings(self): with self.settings(EXTERNAL_DATABASES={}): user = self.backend.authenticate( username='******', password='******' ) self.assertIsNone(user) @override_settings(EXTERNAL_DATABASES={'mandragore': 'dummy'}) @mock.patch('core.accounts.backends.get_user_from_mandragore', new=mock.MagicMock( return_value=('test_user', '$6$salt$passwd'))) def test_authentication_success(self): with mock.patch('crypt.crypt', new=mock.MagicMock(return_value='$6$salt$passwd')): user = self.backend.authenticate( username='******', password='******' ) self.assertEqual(user, self.user) @override_settings(EXTERNAL_DATABASES={'mandragore': 'dummy'}) @mock.patch('core.accounts.backends.get_user_from_mandragore', new=mock.MagicMock( return_value=('test_user', '$6$salt$passwd'))) def test_wrong_password(self): user = self.backend.authenticate( username='******', password='******' ) self.assertIsNone(user)
def setUp(self): self.user = User.objects.create_user( username='******', email='*****@*****.**', password='******' ) self.backend = MandragoreBackend()