aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/requests/test_forgot_password.py52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/requests/test_forgot_password.py b/test/requests/test_forgot_password.py
new file mode 100644
index 00000000..2bf34c5c
--- /dev/null
+++ b/test/requests/test_forgot_password.py
@@ -0,0 +1,52 @@
+import requests
+from wqflask import user_manager
+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"
+ }
+ user_manager.basic_info = lambda : { "basic_info": "basic" }
+ user_manager.RegisterUser(data)
+
+ 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")