class AuthenticationBackendTests(unittest.TestCase): @override_settings(AUTH_USER_MODULE='tests.NoUsernameUser') def test_authenticate_with_custom_user_model(self): """When a custom user model is used that doesn't have a field called "username" return `None` """ result = authenticate(username='******') self.assertIsNone(result) @skipIf(django.VERSION < (1, 5), 'Custom user not supported') @patch('nopassword.backends.sms.TwilioRestClient') @override_settings(AUTH_USER_MODEL='tests.PhoneNumberUser', NOPASSWORD_TWILIO_SID="aaaaaaaa", NOPASSWORD_TWILIO_AUTH_TOKEN="bbbbbbbb", DEFAULT_FROM_NUMBER="+15555555") def test_twilio_backend(self, mock_object): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 20) self.assertIsNotNone(authenticate(username=self.user.username, code=self.code.code)) self.assertEqual(LoginCode.objects.filter(user=self.user, code=self.code.code).count(), 0) self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1) self.user.delete()
def test_twilio_backend_with_https(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code, secure=True, host='secure.example.com') _, kwargs = self.backend.twilio_client.messages.create.call_args login_url = self.code.login_url(secure=True, host='secure.example.com') self.assertIn(login_url, kwargs.get('body'))
class TwilioBackendTests(SimpleTestCase): def setUp(self): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 20) self.assertIsNotNone(authenticate(username=self.user.username, code=self.code.code)) self.assertEqual(LoginCode.objects.filter(user=self.user, code=self.code.code).count(), 0) def tearDown(self): self.user.delete() @patch('nopassword.backends.sms.TwilioRestClient') def test_twilio_backend(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) _, kwargs = self.backend.twilio_client.messages.create.call_args self.assertIn(self.code.login_url(secure=False), kwargs.get('body')) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1) @patch('nopassword.backends.sms.TwilioRestClient') def test_twilio_backend_with_https(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code, secure=True, host='secure.example.com') _, kwargs = self.backend.twilio_client.messages.create.call_args login_url = self.code.login_url(secure=True, host='secure.example.com') self.assertIn(login_url, kwargs.get('body'))
def test_twilio_backend(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code, {'url': 'https://example.com'}) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) _, kwargs = self.backend.twilio_client.messages.create.call_args self.assertIn('https://example.com', kwargs.get('body'))
def test_twilio_backend(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) _, kwargs = self.backend.twilio_client.messages.create.call_args self.assertIn(self.code.login_url(secure=False), kwargs.get('body')) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1)
class TwilioBackendTests(TestCase): def setUp(self): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 64) self.assertIsNotNone( authenticate(username=self.user.username, code=self.code.code)) @patch('nopassword.backends.sms.TwilioRestClient') def test_twilio_backend(self, mock_object): self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code, {'url': 'https://example.com'}) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) _, kwargs = self.backend.twilio_client.messages.create.call_args self.assertIn('https://example.com', kwargs.get('body'))
def test_twilio_backend(self, mock_object): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 20) self.assertIsNotNone( authenticate(username=self.user.username, code=self.code.code)) self.assertEqual( LoginCode.objects.filter(user=self.user, code=self.code.code).count(), 0) self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1) self.user.delete()
class AuthenticationBackendTests(unittest.TestCase): @override_settings(AUTH_USER_MODULE='tests.NoUsernameUser') def test_authenticate_with_custom_user_model(self): """When a custom user model is used that doesn't have a field called "username" return `None` """ result = authenticate(username='******') self.assertIsNone(result) @skipIf(django.VERSION < (1, 5), 'Custom user not supported') @patch('nopassword.backends.sms.TwilioRestClient') @override_settings(AUTH_USER_MODEL='tests.PhoneNumberUser', NOPASSWORD_TWILIO_SID="aaaaaaaa", NOPASSWORD_TWILIO_AUTH_TOKEN="bbbbbbbb", DEFAULT_FROM_NUMBER="+15555555") def test_twilio_backend(self, mock_object): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 20) self.assertIsNotNone( authenticate(username=self.user.username, code=self.code.code)) self.assertEqual( LoginCode.objects.filter(user=self.user, code=self.code.code).count(), 0) self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1) self.user.delete()
def test_twilio_backend(self, mock_object): self.user = get_user_model().objects.create(username='******') self.code = LoginCode.create_code_for_user(self.user, next='/secrets/') self.assertEqual(len(self.code.code), 20) self.assertIsNotNone(authenticate(username=self.user.username, code=self.code.code)) self.assertEqual(LoginCode.objects.filter(user=self.user, code=self.code.code).count(), 0) self.backend = TwilioBackend() self.backend.twilio_client.messages.create = MagicMock() self.backend.send_login_code(self.code) self.assertTrue(mock_object.called) self.assertTrue(self.backend.twilio_client.messages.create.called) authenticate(username=self.user.username) self.assertEqual(LoginCode.objects.filter(user=self.user).count(), 1) self.user.delete()