diff options
Diffstat (limited to 'app/tests/test_views.py')
-rw-r--r-- | app/tests/test_views.py | 222 |
1 files changed, 110 insertions, 112 deletions
diff --git a/app/tests/test_views.py b/app/tests/test_views.py index 0abd5e4..811815f 100644 --- a/app/tests/test_views.py +++ b/app/tests/test_views.py @@ -1,122 +1,120 @@ from itsdangerous.url_safe import URLSafeSerializer from app import app as flask_app + ts = URLSafeSerializer(flask_app.config["SECRET_KEY"]) data2check_visitors = { - "/index": { - "code": 200, "data": b"Nice Tagline" - }, - "/": { - "code": 200, "data": b"Nice Tagline" - }, - "/ContactUs":{ - "code": 200, "data": b"send us a message." - }, - "/doesnotexists":{ - "code": 404, "data": b"Page Not Found" - }, - "/logout":{ - "code": 200, "data": b"You have been logged out." - }, - "/dashboard":{ - "code":401,"data":b"You need to be logged in to access this resource" - }, - "/signup":{ - "code":200,"data":b"Register your account." - }, - "/signin":{ - "code":200,"data":b"Sign in to your account." - }, - "/Simulate500":{ - "code":500,"data":b"Server Could Not Process This." - }, - "/admin/user/":{ - "code":403,"data":b"Forbidden" - }, - "/confirm":{ - "code":200,"data":b"Token not provided in URL Parameter" - }, - "/confirm?confirmation_token=123":{ - "code":200,"data":b"Bad Token Provided" - } + "/index": {"code": 200, "data": b"Nice Tagline"}, + "/": {"code": 200, "data": b"Nice Tagline"}, + "/ContactUs": {"code": 200, "data": b"send us a message."}, + "/doesnotexists": {"code": 404, "data": b"Page Not Found"}, + "/logout": {"code": 200, "data": b"You have been logged out."}, + "/dashboard": { + "code": 401, + "data": b"You need to be logged in to access this resource", + }, + "/signup": {"code": 200, "data": b"Register your account."}, + "/signin": {"code": 200, "data": b"Sign in to your account."}, + "/Simulate500": {"code": 500, "data": b"Server Could Not Process This."}, + "/admin/user/": {"code": 403, "data": b"Forbidden"}, + "/confirm": {"code": 200, "data": b"Token not provided in URL Parameter"}, + "/confirm?confirmation_token=123": {"code": 200, "data": b"Bad Token Provided"}, } + def test_visitors(app, client): - for page in data2check_visitors: - res = client.get(page) - print("Testing %s",page) - assert res.status_code == data2check_visitors[page]["code"] - assert data2check_visitors[page]["data"] in res.data + for page in data2check_visitors: + res = client.get(page) + print("Testing %s", page) + assert res.status_code == data2check_visitors[page]["code"] + assert data2check_visitors[page]["data"] in res.data + def test_user_auth_flow(app, client): - res = client.post("/signup",data=dict( - email="test@example.com", - first_name="John", - password="testpassword", - ), follow_redirects=True) - - assert res.status_code == 200 - assert b"confirm your email" in res.data - - res = client.post("/signin",data=dict( - email="test@example.com", - password="testpassword"), - follow_redirects=True) - assert res.status_code == 200 - assert b"Please Confirm Your Email First." in res.data - - confirmation_token = ts.dumps("test@example.com",salt="email-confirm-key") - res = client.get("/confirm?confirmation_token={}".format(confirmation_token), - follow_redirects=True) - print(res.data) - assert b"Succesfully Verified" in res.data - - res = client.post("/signin",data=dict( - email="test@example.com", - password="testpassword"), - follow_redirects=True) - assert res.status_code == 200 - assert b"Hi John" in res.data - - res = client.get("/logout", follow_redirects=True) - assert res.status_code == 200 - assert b"You have been logged out." in res.data - - res = client.post("/signin",data=dict( - email="test@example.com", - password="testpassword"), - follow_redirects=True) - assert res.status_code == 200 - assert b"Hi John" in res.data - - res = client.get("/signin",follow_redirects=True) - assert res.status_code == 200 - assert b"Hi John" in res.data - - res = client.get("/signup",follow_redirects=True) - assert res.status_code == 200 - assert b"Hi John" in res.data - - res = client.get("/admin/user/") - assert res.status_code == 403 - - res = client.get("/logout") - res = client.post("/signin",data=dict( - email="testtest@example.com", - password="123456"),follow_redirects=True) - assert res.status_code == 200 - assert b"Incorrect Email" in res.data - res = client.post("/signin",data=dict( - email="test@example.com", - password="incorrectpassword"), - follow_redirects = True) - assert res.status_code == 200 - assert b"Incorrect Password" in res.data - - res = client.post("/signup",data=dict( - email="test@example.com", - first_name="John", - password="testpassword", - ), follow_redirects=True) - assert res.status_code == 200 - assert b"Oops! An account with that email already exists" in res.data
\ No newline at end of file + res = client.post( + "/signup", + data=dict( + email="test@example.com", + first_name="John", + password="testpassword", + ), + follow_redirects=True, + ) + + assert res.status_code == 200 + assert b"confirm your email" in res.data + + res = client.post( + "/signin", + data=dict(email="test@example.com", password="testpassword"), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Please Confirm Your Email First." in res.data + + confirmation_token = ts.dumps("test@example.com", salt="email-confirm-key") + res = client.get( + "/confirm?confirmation_token={}".format(confirmation_token), + follow_redirects=True, + ) + print(res.data) + assert b"Succesfully Verified" in res.data + + res = client.post( + "/signin", + data=dict(email="test@example.com", password="testpassword"), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Hi John" in res.data + + res = client.get("/logout", follow_redirects=True) + assert res.status_code == 200 + assert b"You have been logged out." in res.data + + res = client.post( + "/signin", + data=dict(email="test@example.com", password="testpassword"), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Hi John" in res.data + + res = client.get("/signin", follow_redirects=True) + assert res.status_code == 200 + assert b"Hi John" in res.data + + res = client.get("/signup", follow_redirects=True) + assert res.status_code == 200 + assert b"Hi John" in res.data + + res = client.get("/admin/user/") + assert res.status_code == 403 + + res = client.get("/logout") + res = client.post( + "/signin", + data=dict(email="testtest@example.com", password="123456"), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Incorrect Email" in res.data + res = client.post( + "/signin", + data=dict(email="test@example.com", password="incorrectpassword"), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Incorrect Password" in res.data + + res = client.post( + "/signup", + data=dict( + email="test@example.com", + first_name="John", + password="testpassword", + ), + follow_redirects=True, + ) + assert res.status_code == 200 + assert b"Oops! An account with that email already exists" in res.data |