summaryrefslogtreecommitdiff
path: root/distixapi/authn_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'distixapi/authn_tests.py')
-rw-r--r--distixapi/authn_tests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/distixapi/authn_tests.py b/distixapi/authn_tests.py
index a32ccce..063b400 100644
--- a/distixapi/authn_tests.py
+++ b/distixapi/authn_tests.py
@@ -1,3 +1,4 @@
+import base64
import unittest
import distixapi
@@ -10,12 +11,33 @@ class GetCredentialsTests(unittest.TestCase):
with self.assertRaises(distixapi.AuthenticationError):
distixapi.get_credentials(request)
+ def test_raises_error_if_empty_Authentication_header(self):
+ request = DummyRequest()
+ request.add_header('Authorization', '')
+ with self.assertRaises(distixapi.AuthenticationError):
+ distixapi.get_credentials(request)
+
def test_raises_error_if_not_BasicAuth_header(self):
request = DummyRequest()
request.add_header('Authorization', 'Bearer token')
with self.assertRaises(distixapi.AuthenticationError):
distixapi.get_credentials(request)
+ def test_raises_error_if_no_BasicAuth_value(self):
+ request = DummyRequest()
+ request.add_header('Authorization', 'Basic')
+ with self.assertRaises(distixapi.AuthenticationError):
+ distixapi.get_credentials(request)
+
+ def test_returns_username_password(self):
+ request = DummyRequest()
+ username = 'fooser'
+ password = 'secret'
+ value = base64.b64encode('{}:{}'.format(username, password))
+ request.add_header('Authorization', 'Basic {}'.format(value))
+ u, p = distixapi.get_credentials(request)
+ self.assertEqual(username, u)
+ self.assertEqual(password, p)
class DummyRequest(object):