aboutsummaryrefslogtreecommitdiff
path: root/test/requests/test-website.py
diff options
context:
space:
mode:
authorzsloan2018-08-14 20:16:32 +0000
committerzsloan2018-08-14 20:16:32 +0000
commit838362c116b02c090dadeb76cda27e9902a6626a (patch)
treea6be104cc73e3bc9e271f9b5ca854dd32f3b810d /test/requests/test-website.py
parent0bead53661ea701ffd9f9d565e4d2ecbbed81a8e (diff)
parent85defabb17ecdef1c7b8e92fa2e06b44d1e9ca49 (diff)
downloadgenenetwork2-838362c116b02c090dadeb76cda27e9902a6626a.tar.gz
Merge branch 'testing' of https://github.com/genenetwork/genenetwork2 into production
Diffstat (limited to 'test/requests/test-website.py')
-rwxr-xr-xtest/requests/test-website.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/requests/test-website.py b/test/requests/test-website.py
index 118c9df1..b2e09bc4 100755
--- a/test/requests/test-website.py
+++ b/test/requests/test-website.py
@@ -7,10 +7,20 @@ from __future__ import print_function
import argparse
from link_checker import check_links
from mapping_tests import check_mapping
+from navigation_tests import check_navigation
from main_web_functionality import check_main_web_functionality
import link_checker
import sys
+# Imports for integration tests
+from wqflask import app
+from test_login_local import TestLoginLocal
+from test_login_orcid import TestLoginOrcid
+from test_login_github import TestLoginGithub
+from test_registration import TestRegistration
+from test_forgot_password import TestForgotPassword
+from unittest import TestSuite, TextTestRunner, TestLoader
+
print("Mechanical Rob firing up...")
def run_all(args_obj, parser):
@@ -29,6 +39,33 @@ def print_help(args_obj, parser):
def dummy(args_obj, parser):
print("Not implemented yet.")
+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):
+ loader = TestLoader()
+ methodNames = loader.getTestCaseNames(klass)
+ return [klass(mname, gn2_url, es_url) for mname in methodNames]
+
+def integration_suite(gn2_url, es_url):
+ test_cases = [
+ TestRegistration
+ , TestLoginLocal
+ , TestLoginGithub
+ , TestLoginOrcid
+ , TestForgotPassword
+ ]
+ the_suite = TestSuite()
+ for case in test_cases:
+ the_suite.addTests(initTest(case, gn2_url, es_url))
+ return the_suite
+
+def run_integration_tests(gn2_url, es_url):
+ runner = TextTestRunner()
+ runner.run(integration_suite(gn2_url, es_url))
+
desc = """
This is Mechanical-Rob - an automated web server tester for
@@ -63,6 +100,11 @@ parser.add_argument("-m", "--mapping", dest="accumulate"
, action="store_const", const=check_mapping, default=print_help
, help="Checks for mapping.")
+parser.add_argument("-i", "--integration-tests", dest="accumulate"
+ , action="store_const", const=integration_tests, default=print_help
+ , help="Runs integration tests.")
+
+# Navigation tests deactivated since system relies on Javascript
# parser.add_argument("-n", "--navigation", dest="accumulate"
# , action="store_const", const=check_navigation, default=print_help
# , help="Checks for navigation.")