From 3cccdad35bf5f63822a0e8a7fd3f7fc01c751e2d Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 16 Mar 2021 14:00:52 +0000 Subject: [PATCH] some more work on test, prior to use --- core/tests.py | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/core/tests.py b/core/tests.py index 10174aa..e58779c 100644 --- a/core/tests.py +++ b/core/tests.py @@ -735,19 +735,49 @@ class SocialLoginTest(APITestCase): self.user = self.factory(email=self.email, is_active=True) self.user.set_password(self.password) self.user.save() + # data + self.callback_uri = 'http://127.0.0.1:8000/' def test_user_can_login_facebook(self): + # get auth page url = f'https://facebook.com/auth? \ response_type=code& \ client_id={settings.FACEBOOK_ID}& \ - redirect_uri=CALLBACK_URI& \ + redirect_uri={self.callback_uri}& \ scope=profile& \ scope=email' response = self.client.get(url) + # make assertions + self.assertEquals(response.status_code, 200) + # authenticate to auth page if not logged in + url2 = response.url + creds = { + 'email': 'sam@mail.com', + 'password': 'supersecret' + } + response = self.client.post(url2, data=creds) # assertions self.assertEquals(response.status_code, 200) + # redirection url + redirect = response.url + auth_code = redirect.split('=')[-1] + + # authenticate previous query is valid + url = f'https://facebook.com/token/? + grant_type=authorization_code&\ + code={auth_code}&\ + redirect_uri={self.callback_uri}&\ + client_id={settings.FACEBOOK_ID}&\ + client_secret=CLIENT_SECRET' + + response = self.client.get(url) + # assertions + self.assertEquals(response.status_code, 200) + # redirection url + redirect = response.url + auth_code = redirect.split('=')[-1] def test_user_can_login_google(self): url = f'https://google.com/auth? \