aboutsummaryrefslogtreecommitdiffstats
path: root/python/tests/web_auth.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/tests/web_auth.py')
-rw-r--r--python/tests/web_auth.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/python/tests/web_auth.py b/python/tests/web_auth.py
new file mode 100644
index 00000000..81986eec
--- /dev/null
+++ b/python/tests/web_auth.py
@@ -0,0 +1,46 @@
+
+import json
+import pytest
+import responses
+from fatcat_client.rest import ApiException
+from fixtures import *
+
+
+@responses.activate
+def test_ia_xauth_fail(full_app):
+
+ # failed login
+ with full_app.test_client() as app:
+
+ rv = app.get('/auth/ia/login')
+ assert rv.status_code == 200
+
+ responses.add(responses.POST, full_app.config['IA_XAUTH_URI'] + "?op=authenticate",
+ status=401, json=dict(success=False))
+ rv = app.post('/auth/ia/login', follow_redirects=True,
+ data=dict(email="abcd@example.com", password="god"))
+ assert rv.status_code == 401
+
+@responses.activate
+def test_ia_xauth(full_app):
+
+ # successful login
+ with full_app.test_client() as app:
+ responses.add(responses.POST, full_app.config['IA_XAUTH_URI'] + "?op=authenticate",
+ status=200, json={'success': True})
+ responses.add(responses.POST, full_app.config['IA_XAUTH_URI'] + "?op=info",
+ status=200, json={
+ 'success': True,
+ 'values': {'screenname': "user123",
+ 'itemname': "user_item123"}})
+ rv = app.post('/auth/ia/login', follow_redirects=True,
+ data=dict(email="abcd@example.com", password="god"))
+ assert rv.status_code == 200
+
+def test_basic_auth_views(app):
+
+ rv = app.get('/auth/login')
+ assert rv.status_code == 200
+
+ rv = app.get('/auth/logout')
+ assert rv.status_code == 200