about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMuriithi Frederick Muriuki2018-03-14 02:16:59 +0300
committerMuriithi Frederick Muriuki2018-03-14 02:16:59 +0300
commited0c0018166166f1dc05905f0aed1fa1930d963b (patch)
tree19b6803762c9d3cfe9e1d0e78ff553ae9bd3cc48
parent655e741375b3fad7e3b7657662d33ca8017c0220 (diff)
downloadgenenetwork2-ed0c0018166166f1dc05905f0aed1fa1930d963b.tar.gz
Add tests for main web functionality
-rw-r--r--test/requests/main_web_functionality.py40
-rwxr-xr-xtest/requests/test-website.py7
2 files changed, 47 insertions, 0 deletions
diff --git a/test/requests/main_web_functionality.py b/test/requests/main_web_functionality.py
new file mode 100644
index 00000000..f6b32340
--- /dev/null
+++ b/test/requests/main_web_functionality.py
@@ -0,0 +1,40 @@
+from __future__ import print_function
+import re
+import requests
+from lxml.html import parse
+from requests.exceptions import ConnectionError
+
+def check_home(url):
+    doc = parse(url).getroot()
+    search_button = doc.cssselect("#btsearch")
+    assert(search_button[0].value == "Search")
+    print("OK")
+
+def check_search_page(host):
+    data = dict(
+        species="mouse"
+        , group="BXD"
+        , type="Hippocampus mRNA"
+        , dataset="HC_M2_0606_P"
+        , search_terms_or=""
+        , search_terms_and="MEAN=(15 16) LRS=(23 46)")
+    result = requests.get(host+"/search", params=data)
+    found = result.text.find("/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P")
+    assert(found >= 0)
+    print("OK")
+    check_traits_page(host, "/show_trait?trait_id=1435395_s_at&dataset=HC_M2_0606_P")
+
+def check_traits_page(host, traits_url):
+    from link_checker import check_page
+    doc = parse(host+traits_url).getroot()
+    traits_form = doc.forms[1]
+    assert(traits_form.fields["corr_dataset"] == "HC_M2_0606_P")
+    print("OK")
+    check_page(host, host+traits_url)
+
+def check_main_web_functionality(args_obj, parser):
+    print("")
+    print("Checking main web functionality...")
+    host = args_obj.host
+    check_home(host)
+    check_search_page(host)
diff --git a/test/requests/test-website.py b/test/requests/test-website.py
index 9637b87f..f65c3fc8 100755
--- a/test/requests/test-website.py
+++ b/test/requests/test-website.py
@@ -4,6 +4,7 @@
 #
 # Mostly to pick up the Guix GN2_PROFILE and python modules
 from __future__ import print_function
+from main_web_functionality import check_main_web_functionality
 from link_checker import check_links
 import argparse
 
@@ -12,6 +13,7 @@ print("Mechanical Rob firing up...")
 def run_all(args_obj, parser):
     print("")
     print("Running all tests.")
+    check_main_web_functionality(args_obj, parser)
     check_links(args_obj, parser)
     # TODO: Add other functions as they are created.
 
@@ -44,6 +46,11 @@ parser.add_argument("-l", "--link-checker", dest="accumulate"
                     , action='store_const', const=check_links, default=print_help
                     , help="Checks for dead links.")
 
+parser.add_argument("-f", "--main-functionality", dest="accumulate"
+                    , action='store_const', const=check_main_web_functionality
+                    , default=print_help
+                    , help="Checks for main web functionality.")
+
 # parser.add_argument("-n", "--navigation", dest="accumulate"
 #                     , action="store_const", const=check_navigation, default=print_help
 #                     , help="Checks for navigation.")