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, 19 insertions, 3 deletions
diff --git a/distixapi/authn_tests.py b/distixapi/authn_tests.py
index 329eac6..f9e2e15 100644
--- a/distixapi/authn_tests.py
+++ b/distixapi/authn_tests.py
@@ -30,11 +30,9 @@ class GetCredentialsTests(unittest.TestCase):
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))
+ request = make_request(username, password)
u, p = distixapi.get_credentials(request)
self.assertEqual(username, u)
self.assertEqual(password, p)
@@ -57,6 +55,17 @@ class EncryptPasswordTests(unittest.TestCase):
self.assertNotEqual(encrypted_1, encrypted_2)
+class PasswordCheckingTests(unittest.TestCase):
+
+ def test_raises_exception_if_user_not_known(self):
+ users = {
+ 'users': [],
+ }
+ request = make_request('unknown', 'password')
+ with self.assertRaises(distixapi.AuthenticationError):
+ distixapi.get_scopes(users, request)
+
+
class DummyRequest(object):
def __init__(self):
@@ -67,3 +76,10 @@ class DummyRequest(object):
def get_header(self, header):
return self._headers.get(header)
+
+
+def make_request(username, password):
+ value = base64.b64encode('{}:{}'.format(username, password))
+ request = DummyRequest()
+ request.add_header('Authorization', 'Basic {}'.format(value))
+ return request