from django.contrib.auth import get_user_model from allauth_cas.test.testcases import CASTestCase, CASViewTestCase User = get_user_model() class ClipperProviderTests(CASTestCase): def setUp(self): pass def test_auto_signup(self): self.client_cas_login( self.client, provider_id='clipper', username='clipperuid') u = User.objects.get(username__contains='clipperuid') self.assertEqual(u.email, 'clipperuid@clipper.ens.fr') class ClipperViewsTests(CASViewTestCase): def test_login_view(self): r = self.client.get('/account/clipper/login/') expected = ( "https://cas.eleves.ens.fr/login?service=http%3A%2F%2Ftestserver" "%2Faccount%2Fclipper%2Flogin%2Fcallback%2F" ) self.assertRedirects( r, expected, fetch_redirect_response=False, ) def test_callback_view(self): # Required to initialize a SocialLogin. r = self.client.get('/account/clipper/login/') # Tests. self.patch_cas_response(valid_ticket='__all__') r = self.client.get('/account/clipper/login/callback/', { 'ticket': '123456', }) self.assertLoginSuccess(r, "/user/") def test_logout_view(self): r = self.client.get('/account/clipper/logout/') expected = ( "https://cas.eleves.ens.fr/logout?service=http%3A%2F%2Ftestserver" "%2Fview%2F" ) self.assertRedirects( r, expected, fetch_redirect_response=False, )