aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/requests/run-integration-tests.py34
-rwxr-xr-xtest/requests/test-website.py40
2 files changed, 40 insertions, 34 deletions
diff --git a/test/requests/run-integration-tests.py b/test/requests/run-integration-tests.py
deleted file mode 100644
index 5e816549..00000000
--- a/test/requests/run-integration-tests.py
+++ /dev/null
@@ -1,34 +0,0 @@
-import sys
-from test_login_local import TestLoginLocal
-from test_login_orcid import TestLoginOrcid
-from test_login_github import TestLoginGithub
-from test_registration import TestRegistration
-from unittest import TestSuite, TextTestRunner, TestLoader
-
-test_cases = [
- TestRegistration
- , TestLoginLocal
- , TestLoginGithub
- , TestLoginOrcid
-]
-
-def suite(gn2_url, es_url):
- the_suite = TestSuite()
- for case in test_cases:
- the_suite.addTests(initTest(case, gn2_url, es_url))
- return the_suite
-
-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 main(gn2_url, es_url):
- runner = TextTestRunner()
- runner.run(suite(gn2_url, es_url))
-
-if __name__ == "__main__":
- if len(sys.argv) < 3:
- raise Exception("Required arguments missing:\n\tTry running `run-integration-test.py <gn2-url> <es-url>`")
- else:
- main(sys.argv[1], sys.argv[2])
diff --git a/test/requests/test-website.py b/test/requests/test-website.py
index a33fe708..b2e09bc4 100755
--- a/test/requests/test-website.py
+++ b/test/requests/test-website.py
@@ -12,6 +12,15 @@ 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):
@@ -30,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
@@ -64,6 +100,10 @@ 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