From 20d9af4812426e4457e7417cfcea601c1a870168 Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki
Date: Fri, 23 Feb 2018 17:36:29 +0300
Subject: Add new tests for orcid logins
---
test/requests/test_login_orcid.py | 40 +++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
create mode 100644 test/requests/test_login_orcid.py
(limited to 'test/requests/test_login_orcid.py')
diff --git a/test/requests/test_login_orcid.py b/test/requests/test_login_orcid.py
new file mode 100644
index 00000000..6e40ece5
--- /dev/null
+++ b/test/requests/test_login_orcid.py
@@ -0,0 +1,40 @@
+import uuid
+import requests
+from time import sleep
+from parameterized import parameterized
+from parametrized_test import ParametrizedTest
+
+login_link_text = 'Sign in'
+logout_link_text = 'Sign out'
+uid = str(uuid.uuid4())
+
+class TestLoginOrcid(ParametrizedTest):
+
+ def setUp(self):
+ super(TestLoginOrcid, self).setUp()
+ data = {
+ "user_id": uid
+ , "name": "A. T. Est User"
+ , "orcid": 345872
+ , "user_url": "https://fake-orcid.org/atestuser"
+ , "login_type": "orcid"
+ , "organization": ""
+ , "active": 1
+ , "confirmed": 1
+ }
+ self.es.create(index="users", doc_type="local", body=data, id=uid)
+ sleep(1)
+
+ def tearDown(self):
+ super(TestLoginOrcid, self).tearDown()
+ self.es.delete(index="users", doc_type="local", id=uid)
+
+ @parameterized.expand([
+ ("1234", login_link_text, "Login should have failed with non-existing user")
+ , (uid, logout_link_text, "Login should have been successful with existing user")
+ ])
+ def testLogin(self, test_uid, expected, message):
+ url = self.gn2_url+"/n/login?type=orcid&uid="+test_uid
+ result = requests.get(url)
+ index = result.content.find(expected)
+ self.assertTrue(index >= 0, message)
--
cgit v1.2.3
From 07b792f0898d7ecec94b938aa3081e6aa64bc435 Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki
Date: Fri, 23 Feb 2018 18:11:33 +0300
Subject: Add tests to check that the UI is setup correctly
* Check that the links for OAuth2 logins via ORCID and GitHub are setup
correctly.
---
test/requests/test_login_github.py | 7 +++++++
test/requests/test_login_orcid.py | 7 +++++++
2 files changed, 14 insertions(+)
(limited to 'test/requests/test_login_orcid.py')
diff --git a/test/requests/test_login_github.py b/test/requests/test_login_github.py
index 15bf18ae..1bf4f695 100644
--- a/test/requests/test_login_github.py
+++ b/test/requests/test_login_github.py
@@ -1,6 +1,7 @@
import uuid
import requests
from time import sleep
+from wqflask import app
from parameterized import parameterized
from parametrized_test import ParametrizedTest
@@ -29,6 +30,12 @@ class TestLoginGithub(ParametrizedTest):
super(TestLoginGithub, self).tearDown()
self.es.delete(index="users", doc_type="local", id=uid)
+ def testLoginUrl(self):
+ login_button_text = 'Login with Github'
+ result = requests.get(self.gn2_url+"/n/login")
+ index = result.content.find(login_button_text)
+ self.assertTrue(index >= 0, "Should have found `Login with Github` button")
+
@parameterized.expand([
("1234", login_link_text, "Login should have failed with non-existing user")
, (uid, logout_link_text, "Login should have been successful with existing user")
diff --git a/test/requests/test_login_orcid.py b/test/requests/test_login_orcid.py
index 6e40ece5..ea15642e 100644
--- a/test/requests/test_login_orcid.py
+++ b/test/requests/test_login_orcid.py
@@ -1,6 +1,7 @@
import uuid
import requests
from time import sleep
+from wqflask import app
from parameterized import parameterized
from parametrized_test import ParametrizedTest
@@ -29,6 +30,12 @@ class TestLoginOrcid(ParametrizedTest):
super(TestLoginOrcid, self).tearDown()
self.es.delete(index="users", doc_type="local", id=uid)
+ def testLoginUrl(self):
+ login_button_text = 'a href="https://sandbox.orcid.org/oauth/authorize?response_type=code&scope=/authenticate&show_login=true&client_id=' + app.config.get("ORCID_CLIENT_ID") + '&client_secret=' + app.config.get("ORCID_CLIENT_SECRET") + '" title="Login with ORCID" class="btn btn-info btn-group">Login with ORCID'
+ result = requests.get(self.gn2_url+"/n/login")
+ index = result.content.find(login_button_text)
+ self.assertTrue(index >= 0, "Should have found `Login with ORCID` button")
+
@parameterized.expand([
("1234", login_link_text, "Login should have failed with non-existing user")
, (uid, logout_link_text, "Login should have been successful with existing user")
--
cgit v1.2.3