about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--test/unittest/test_registration.py27
-rw-r--r--wqflask/mock/__init__.py (renamed from wqflask/tests/__init__.py)0
-rw-r--r--wqflask/mock/es_double.py15
-rw-r--r--wqflask/tests/es_double.py30
-rw-r--r--wqflask/tests/test_registration.py113
5 files changed, 42 insertions, 143 deletions
diff --git a/test/unittest/test_registration.py b/test/unittest/test_registration.py
new file mode 100644
index 00000000..98d0cdff
--- /dev/null
+++ b/test/unittest/test_registration.py
@@ -0,0 +1,27 @@
+# Run test with something like
+#
+# env GN2_PROFILE=~/opt/gn-latest GENENETWORK_FILES=$HOME/gn2_data ./bin/genenetwork2 ./etc/default_settings.py -c ../test/unittest/test_registration.py
+#
+
+import unittest
+import mock.es_double as es
+from wqflask.user_manager import RegisterUser
+
+class TestRegisterUser(unittest.TestCase):
+    def setUp(self):
+        self.es = es.ESDouble()
+
+    def testRegisterUserWithCorrectData(self):
+        data = {
+            "email_address": "user@example.com"
+            , "full_name": "A.N. Other"
+            , "organization": "Some Organisation"
+            , "password": "testing"
+            , "password_confirm": "testing"
+            , "es_connection": self.es
+        }
+        result = RegisterUser(data)
+        self.assertEqual(len(result.errors), 0, "Errors were not expected")
+
+if __name__ == "__main__":
+    unittest.main()
diff --git a/wqflask/tests/__init__.py b/wqflask/mock/__init__.py
index e69de29b..e69de29b 100644
--- a/wqflask/tests/__init__.py
+++ b/wqflask/mock/__init__.py
diff --git a/wqflask/mock/es_double.py b/wqflask/mock/es_double.py
new file mode 100644
index 00000000..6ef8a1b9
--- /dev/null
+++ b/wqflask/mock/es_double.py
@@ -0,0 +1,15 @@
+class ESDouble(object):
+    def __init__(self):
+        self.items = {}
+
+    def ping(self):
+        return true
+
+    def create(self, index, doc_type, body, id):
+        self.items["index"] = {doc_type: {"id": id, "_source": data}}
+
+    def search(self, index, doc_type, body):
+        return {
+            "hits": {
+                "hits": self.items[index][doc_type][body]
+            }}
diff --git a/wqflask/tests/es_double.py b/wqflask/tests/es_double.py
deleted file mode 100644
index 00739016..00000000
--- a/wqflask/tests/es_double.py
+++ /dev/null
@@ -1,30 +0,0 @@
-class ESDouble(object):
-    def __init__(self):
-        self.items = {
-            "users": {
-                "local": []
-            }}
-
-    def ping(self):
-        return true
-
-    def create(self, index, doc_type, body, id):
-        item = {"id": id, "_source": body}
-        if not self.items.get("index", None):
-            self.items[index] = {doc_type: [item]}
-        else:
-            self.items[index][doc_type].append(item)
-
-    def search(self, index, doc_type, body):
-        d = body["query"]["match"]
-        column = [(key, d[key]) for key in d]
-
-        items = []
-        for thing in self.items[index][doc_type]:
-            if thing["_source"][column[0][0]] == column[0][1]:
-                items.append(thing)
-                break
-        return {
-            "hits": {
-                "hits": items
-            }}
diff --git a/wqflask/tests/test_registration.py b/wqflask/tests/test_registration.py
deleted file mode 100644
index 50a2a84c..00000000
--- a/wqflask/tests/test_registration.py
+++ /dev/null
@@ -1,113 +0,0 @@
-import unittest
-import es_double
-import wqflask.user_manager
-from wqflask.user_manager import RegisterUser
-
-class TestRegisterUser(unittest.TestCase):
-    def setUp(self):
-        # Mock elasticsearch
-        self.es = es_double.ESDouble()
-
-        # Patch method
-        wqflask.user_manager.basic_info = lambda : {"basic_info": "some info"}
-
-    def tearDown(self):
-        self.es = None
-
-    def testRegisterUserWithNoData(self):
-        data = {}
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Data was not provided. Error was expected")
-
-    def testRegisterUserWithNoEmail(self):
-        data = {
-            "email_address": ""
-            , "full_name": "A.N. Other"
-            , "organization": "Some Organisation"
-            , "password": "testing"
-            , "password_confirm": "testing"
-            , "es_connection": self.es
-        }
-
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Email not provided. Error was expected")
-
-    def testRegisterUserWithNoName(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": ""
-            , "organization": "Some Organisation"
-            , "password": "testing"
-            , "password_confirm": "testing"
-            , "es_connection": self.es
-        }
-
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Name not provided. Error was expected")
-
-    def testRegisterUserWithNoOrganisation(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": "A.N. Other"
-            , "organization": ""
-            , "password": "testing"
-            , "password_confirm": "testing"
-            , "es_connection": self.es
-        }
-        
-        result = RegisterUser(data)
-        self.assertEqual(len(result.errors), 0, "Organisation not provided. Error not expected")
-
-    def testRegisterUserWithShortOrganisation(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": "A.N. Other"
-            , "organization": "SO"
-            , "password": "testing"
-            , "password_confirm": "testing"
-            , "es_connection": self.es
-        }
-        
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Organisation name too short. Error expected")
-
-    def testRegisterUserWithNoPassword(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": "A.N. Other"
-            , "organization": "Some Organisation"
-            , "password": None
-            , "password_confirm": None
-            , "es_connection": self.es
-        }
-
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Password not provided. Error was expected")
-
-    def testRegisterUserWithNonMatchingPasswords(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": "A.N. Other"
-            , "organization": "Some Organisation"
-            , "password": "testing"
-            , "password_confirm": "stilltesting"
-            , "es_connection": self.es
-        }
-
-        result = RegisterUser(data)
-        self.assertNotEqual(len(result.errors), 0, "Password mismatch. Error was expected")
-
-    def testRegisterUserWithCorrectData(self):
-        data = {
-            "email_address": "user@example.com"
-            , "full_name": "A.N. Other"
-            , "organization": "Some Organisation"
-            , "password": "testing"
-            , "password_confirm": "testing"
-            , "es_connection": self.es
-        }
-        result = RegisterUser(data)
-        self.assertEqual(len(result.errors), 0, "All data items provided. Errors were not expected")
-
-if __name__ == "__main__":
-    unittest.main()