From 7ea87a27735242889ac369dcbd5aec83a1e1caff Mon Sep 17 00:00:00 2001
From: Muriithi Frederick Muriuki
Date: Fri, 23 Feb 2018 17:26:42 +0300
Subject: Add new test for github logins
---
test/requests/run-integration-tests.py | 4 +++-
test/requests/test_login_github.py | 40 ++++++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 1 deletion(-)
create mode 100644 test/requests/test_login_github.py
diff --git a/test/requests/run-integration-tests.py b/test/requests/run-integration-tests.py
index 0fd7bb20..fc795779 100644
--- a/test/requests/run-integration-tests.py
+++ b/test/requests/run-integration-tests.py
@@ -1,11 +1,13 @@
import sys
from test_login_local import TestLoginLocal
+from test_login_github import TestLoginGithub
from test_registration import TestRegistration
from unittest import TestSuite, TextTestRunner, TestLoader
test_cases = [
- TestLoginLocal,
TestRegistration
+ , TestLoginLocal
+ , TestLoginGithub
]
def suite(gn2_url, es_url):
diff --git a/test/requests/test_login_github.py b/test/requests/test_login_github.py
new file mode 100644
index 00000000..15bf18ae
--- /dev/null
+++ b/test/requests/test_login_github.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 TestLoginGithub(ParametrizedTest):
+
+ def setUp(self):
+ super(TestLoginGithub, self).setUp()
+ data = {
+ "user_id": uid
+ , "name": "A. T. Est User"
+ , "github_id": 693024
+ , "user_url": "https://fake-github.com/atestuser"
+ , "login_type": "github"
+ , "organization": ""
+ , "active": 1
+ , "confirmed": 1
+ }
+ self.es.create(index="users", doc_type="local", body=data, id=uid)
+ sleep(1)
+
+ def tearDown(self):
+ super(TestLoginGithub, 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=github&uid="+test_uid
+ result = requests.get(url)
+ index = result.content.find(expected)
+ self.assertTrue(index >= 0, message)
--
cgit v1.2.3