about summary refs log tree commit diff
path: root/test
diff options
context:
space:
mode:
authorArthur Centeno2021-10-29 17:39:27 +0000
committerArthur Centeno2021-10-29 17:39:27 +0000
commit2b0c5c94d344b839ef1d6899b5bb239f14942610 (patch)
treee08ac49c5e1190fa2be28c1238a552646c3fde13 /test
parent24480fad2d67a6e35b03997e23c6d849a60623a0 (diff)
parent44bf8ee8463fe7182282ec10e259d4c9eb7526b8 (diff)
downloadgenenetwork2-2b0c5c94d344b839ef1d6899b5bb239f14942610.tar.gz
Merge github.com:genenetwork/genenetwork2 into acenteno
Diffstat (limited to 'test')
-rw-r--r--test/requests/parametrized_test.py32
-rwxr-xr-xtest/requests/test-website.py1
-rw-r--r--test/requests/test_forgot_password.py50
-rw-r--r--test/requests/test_login_github.py47
-rw-r--r--test/requests/test_login_local.py57
-rw-r--r--test/requests/test_login_orcid.py47
-rw-r--r--test/requests/test_registration.py36
7 files changed, 15 insertions, 255 deletions
diff --git a/test/requests/parametrized_test.py b/test/requests/parametrized_test.py
deleted file mode 100644
index 50003850..00000000
--- a/test/requests/parametrized_test.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import logging
-import unittest
-from wqflask import app
-from utility.elasticsearch_tools import get_elasticsearch_connection, get_user_by_unique_column
-from elasticsearch import Elasticsearch, TransportError
-
-class ParametrizedTest(unittest.TestCase):
-
-    def __init__(self, methodName='runTest', gn2_url="http://localhost:5003", es_url="localhost:9200"):
-        super(ParametrizedTest, self).__init__(methodName=methodName)
-        self.gn2_url = gn2_url
-        self.es_url = es_url
-
-    def setUp(self):
-        self.es = get_elasticsearch_connection()
-        self.es_cleanup = []
-
-        es_logger = logging.getLogger("elasticsearch")
-        es_logger.setLevel(app.config.get("LOG_LEVEL"))
-        es_logger.addHandler(
-            logging.FileHandler("/tmp/es_TestRegistrationInfo.log"))
-        es_trace_logger = logging.getLogger("elasticsearch.trace")
-        es_trace_logger.addHandler(
-            logging.FileHandler("/tmp/es_TestRegistrationTrace.log"))
-
-    def tearDown(self):
-        from time import sleep
-        self.es.delete_by_query(
-            index="users"
-            , doc_type="local"
-            , body={"query":{"match":{"email_address":"test@user.com"}}})
-        sleep(1)
diff --git a/test/requests/test-website.py b/test/requests/test-website.py
index 8bfb47c2..d619a7d5 100755
--- a/test/requests/test-website.py
+++ b/test/requests/test-website.py
@@ -43,7 +43,6 @@ def dummy(args_obj, parser):
 
 def integration_tests(args_obj, parser):
     gn2_url = args_obj.host
-    es_url = app.config.get("ELASTICSEARCH_HOST")+":"+str(app.config.get("ELASTICSEARCH_PORT"))
     run_integration_tests(gn2_url, es_url)
 
 def initTest(klass, gn2_url, es_url):
diff --git a/test/requests/test_forgot_password.py b/test/requests/test_forgot_password.py
deleted file mode 100644
index 346524bc..00000000
--- a/test/requests/test_forgot_password.py
+++ /dev/null
@@ -1,50 +0,0 @@
-import requests
-from utility.elasticsearch_tools import get_user_by_unique_column
-from parameterized import parameterized
-from parametrized_test import ParametrizedTest
-
-passwork_reset_link = ''
-forgot_password_page = None
-
-class TestForgotPassword(ParametrizedTest):
-
-    def setUp(self):
-        super(TestForgotPassword, self).setUp()
-        self.forgot_password_url = self.gn2_url+"/n/forgot_password_submit"
-        def send_email(to_addr, msg, fromaddr="no-reply@genenetwork.org"):
-            print("CALLING: send_email_mock()")
-            email_data = {
-                "to_addr": to_addr
-                , "msg": msg
-                , "fromaddr": from_addr}
-
-        data = {
-            "es_connection": self.es,
-            "email_address": "test@user.com",
-            "full_name": "Test User",
-            "organization": "Test Organisation",
-            "password": "test_password",
-            "password_confirm": "test_password"
-        }
-
-
-    def testWithoutEmail(self):
-        data = {"email_address": ""}
-        error_notification = '<div class="alert alert-danger">You MUST provide an email</div>'
-        result = requests.post(self.forgot_password_url, data=data)
-        self.assertEqual(result.url, self.gn2_url+"/n/forgot_password")
-        self.assertTrue(
-            result.content.find(error_notification) >= 0
-            , "Error message should be displayed but was not")
-
-    def testWithNonExistingEmail(self):
-        # Monkey patching doesn't work, so simply test that getting by email
-        # returns the correct data
-        user = get_user_by_unique_column(self.es, "email_address", "non-existent@domain.com")
-        self.assertTrue(user is None, "Should not find non-existent user")
-
-    def testWithExistingEmail(self):
-        # Monkey patching doesn't work, so simply test that getting by email
-        # returns the correct data
-        user = get_user_by_unique_column(self.es, "email_address", "test@user.com")
-        self.assertTrue(user is not None, "Should find user")
diff --git a/test/requests/test_login_github.py b/test/requests/test_login_github.py
deleted file mode 100644
index 1bf4f695..00000000
--- a/test/requests/test_login_github.py
+++ /dev/null
@@ -1,47 +0,0 @@
-import uuid
-import requests
-from time import sleep
-from wqflask import app
-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>'
-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)
-
-    def testLoginUrl(self):
-        login_button_text = '<a href="https://github.com/login/oauth/authorize?client_id=' + app.config.get("GITHUB_CLIENT_ID") + '&amp;client_secret=' + app.config.get("GITHUB_CLIENT_SECRET") + '" title="Login with GitHub" class="btn btn-info btn-group">Login with Github</a>'
-        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")
-        ])
-    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)
diff --git a/test/requests/test_login_local.py b/test/requests/test_login_local.py
deleted file mode 100644
index 6691d135..00000000
--- a/test/requests/test_login_local.py
+++ /dev/null
@@ -1,57 +0,0 @@
-import requests
-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"
-        }
-
-    
-    @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)
diff --git a/test/requests/test_login_orcid.py b/test/requests/test_login_orcid.py
deleted file mode 100644
index ea15642e..00000000
--- a/test/requests/test_login_orcid.py
+++ /dev/null
@@ -1,47 +0,0 @@
-import uuid
-import requests
-from time import sleep
-from wqflask import app
-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>'
-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)
-
-    def testLoginUrl(self):
-        login_button_text = 'a href="https://sandbox.orcid.org/oauth/authorize?response_type=code&amp;scope=/authenticate&amp;show_login=true&amp;client_id=' + app.config.get("ORCID_CLIENT_ID") + '&amp;client_secret=' + app.config.get("ORCID_CLIENT_SECRET") + '" title="Login with ORCID" class="btn btn-info btn-group">Login with ORCID</a>'
-        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")
-        ])
-    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)
diff --git a/test/requests/test_registration.py b/test/requests/test_registration.py
index 0047e8a6..5d08bf58 100644
--- a/test/requests/test_registration.py
+++ b/test/requests/test_registration.py
@@ -1,31 +1,25 @@
 import sys
 import requests
-from parametrized_test import ParametrizedTest
 
 class TestRegistration(ParametrizedTest):
 
-    def tearDown(self):
-        for item in self.es_cleanup:
-            self.es.delete(index="users", doc_type="local", id=item["_id"])
 
     def testRegistrationPage(self):
-        if self.es.ping():
-            data = {
-                "email_address": "test@user.com",
-                "full_name": "Test User",
-                "organization": "Test Organisation",
-                "password": "test_password",
-                "password_confirm": "test_password"
-            }
-            requests.post(self.gn2_url+"/n/register", data)
-            response = self.es.search(
-                index="users"
-                , doc_type="local"
-                , body={
-                    "query": {"match": {"email_address": "test@user.com"}}})
-            self.assertEqual(len(response["hits"]["hits"]), 1)
-        else:
-            self.skipTest("The elasticsearch server is down")
+        data = {
+            "email_address": "test@user.com",
+            "full_name": "Test User",
+            "organization": "Test Organisation",
+            "password": "test_password",
+            "password_confirm": "test_password"
+        }
+        requests.post(self.gn2_url+"/n/register", data)
+        response = self.es.search(
+            index="users"
+            , doc_type="local"
+            , body={
+                "query": {"match": {"email_address": "test@user.com"}}})
+        self.assertEqual(len(response["hits"]["hits"]), 1)
+
 
 def main(gn2, es):
     import unittest