Skip to content

Commit

Permalink
test cover authentication with falsy email, fixes #141 (#142)
Browse files Browse the repository at this point in the history
  • Loading branch information
Peter Bengtsson authored Jun 12, 2017
1 parent 3370690 commit 70cc070
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion tests/test_auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,9 +198,11 @@ def test_successful_authentication_new_user(self, token_mock, request_mock, algo
'redirect_uri': 'http://testserver/callback/',
}
self.assertEqual(User.objects.all().count(), 0)
self.backend.authenticate(request=auth_request)
result = self.backend.authenticate(request=auth_request)
self.assertEqual(User.objects.all().count(), 1)
user = User.objects.all()[0]
self.assertEquals(user, result)

self.assertEquals(user.email, '[email protected]')
self.assertEquals(user.username, 'username_algo')

Expand All @@ -213,6 +215,31 @@ def test_successful_authentication_new_user(self, token_mock, request_mock, algo
headers={'Authorization': 'Bearer access_granted'}
)

@patch('mozilla_django_oidc.auth.requests')
@patch('mozilla_django_oidc.auth.OIDCAuthenticationBackend.verify_token')
def test_successful_authentication_no_email(self, token_mock, request_mock):
"""What happens if the auth "works" but it doesn't have an email?"""
auth_request = RequestFactory().get('/foo', {'code': 'foo',
'state': 'bar'})
auth_request.session = {}

token_mock.return_value = True
get_json_mock = Mock()
get_json_mock.json.return_value = {
'nickname': 'a_username',
'email': ''
}
request_mock.get.return_value = get_json_mock
post_json_mock = Mock()
post_json_mock.json.return_value = {
'id_token': 'id_token',
'access_token': 'access_granted'
}
request_mock.post.return_value = post_json_mock
result = self.backend.authenticate(request=auth_request)
assert result is None
self.assertEqual(User.objects.all().count(), 0)

def test_authenticate_no_code_no_state(self):
"""Test authenticate with wrong parameters."""

Expand Down

0 comments on commit 70cc070

Please sign in to comment.