about summary refs log tree commit diff
path: root/test/requests/test_login_local.py
diff options
context:
space:
mode:
authoracenteno2020-04-21 17:35:34 -0500
committerGitHub2020-04-21 17:35:34 -0500
commit660589b9c2a507529e8e51ca6ce66ca97ad982c5 (patch)
tree27f63957278581bc2fce2b88744bfe20c8a81558 /test/requests/test_login_local.py
parentd97fdc18359233f07c1a1c7b83fe7e88eb225043 (diff)
parentf2a3ae13231a7d270a5bb6911c248aa713f1ef91 (diff)
downloadgenenetwork2-660589b9c2a507529e8e51ca6ce66ca97ad982c5.tar.gz
Merge pull request #1 from genenetwork/testing
Updating my testing branch
Diffstat (limited to 'test/requests/test_login_local.py')
-rw-r--r--test/requests/test_login_local.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/test/requests/test_login_local.py b/test/requests/test_login_local.py
new file mode 100644
index 00000000..808649ca
--- /dev/null
+++ b/test/requests/test_login_local.py
@@ -0,0 +1,60 @@
+import requests
+from wqflask import user_manager
+from parameterized import parameterized
+from parametrized_test import ParametrizedTest
+
+login_link_text = '<a id="login_in" href="/n/login">Sign in</a>'
+logout_link_text = '<a id="login_out" title="Signed in as ." href="/n/logout">Sign out</a>'
+
+class TestLoginLocal(ParametrizedTest):
+
+    def setUp(self):
+        super(TestLoginLocal, self).setUp()
+        self.login_url = self.gn2_url +"/n/login"
+        data = {
+            "es_connection": self.es,
+            "email_address": "test@user.com",
+            "full_name": "Test User",
+            "organization": "Test Organisation",
+            "password": "test_password",
+            "password_confirm": "test_password"
+        }
+        user_manager.basic_info = lambda : { "basic_info": "basic" }
+        user_manager.RegisterUser(data)
+
+    
+    @parameterized.expand([
+        (
+            {
+                "email_address": "non@existent.email",
+                "password": "doesitmatter?"
+            }, login_link_text, "Login should have failed with the wrong user details."),
+        (
+            {
+                "email_address": "test@user.com",
+                "password": "test_password"
+            }, logout_link_text, "Login should have been successful with correct user details and neither import_collections nor remember_me set"),
+        (
+            {
+                "email_address": "test@user.com",
+                "password": "test_password",
+                "import_collections": "y"
+            }, logout_link_text, "Login should have been successful with correct user details and only import_collections set"),
+        (
+            {
+                "email_address": "test@user.com",
+                "password": "test_password",
+                "remember_me": "y"
+            }, logout_link_text, "Login should have been successful with correct user details and only remember_me set"),
+        (
+            {
+                "email_address": "test@user.com",
+                "password": "test_password",
+                "remember_me": "y",
+                "import_collections": "y"
+            }, logout_link_text, "Login should have been successful with correct user details, and both remember_me, and import_collections set")
+    ])
+    def testLogin(self, data, expected, message):
+        result = requests.post(self.login_url, data=data)
+        index = result.content.find(expected)
+        self.assertTrue(index >= 0, message)