summaryrefslogtreecommitdiff
path: root/service/test/unit/test_authentication.py
diff options
context:
space:
mode:
authorBruno Wagner <bwagner@riseup.net>2016-10-20 19:13:00 -0200
committerDenis Costa <deniscostadsc@gmail.com>2016-10-26 14:34:31 -0200
commit7e805dff08d4cbe14abab567edb7a301bdde6dda (patch)
treeebeb7489008ac26030707d9588ac08813400b5ce /service/test/unit/test_authentication.py
parentfb72ea1b893a9152f6bbc798e9d734e01fe42b3b (diff)
Moving authentication out of login_resource
This is ongoing work to be able to accept and validate user domain on login (so the user can use <username> or <username@domain.com>) We are extracting the authentication logic from login_resource to be able to test and cover the cases we need
Diffstat (limited to 'service/test/unit/test_authentication.py')
-rw-r--r--service/test/unit/test_authentication.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/service/test/unit/test_authentication.py b/service/test/unit/test_authentication.py
new file mode 100644
index 00000000..2fb97d69
--- /dev/null
+++ b/service/test/unit/test_authentication.py
@@ -0,0 +1,34 @@
+from twisted.trial import unittest
+
+from leap.bitmask.bonafide._srp import SRPAuthError
+from pixelated.authentication import Authentication
+
+
+class AuthenticationTest(unittest.TestCase):
+
+ def test_authenticates_with_username_and_password(self):
+ self.fail()
+
+ def test_validate_username_accepts_username(self):
+ auth = Authentication('domain.org')
+ self.assertTrue(auth.validate_username('username'))
+
+ def test_validate_username_accepts_email_address(self):
+ auth = Authentication('domain.org')
+ self.assertTrue(auth.validate_username('username@domain.org'))
+
+ def test_validate_username_denies_other_domains(self):
+ auth = Authentication('domain.org')
+ self.assertFalse(auth.validate_username('username@wrongdomain.org'))
+
+ def test_username_with_domain(self):
+ auth = Authentication('domain.org')
+ self.assertEqual('user@domain.org', auth.username_with_domain('user'))
+
+ def test_extract_username_extracts_from_plain_username(self):
+ auth = Authentication('domain.org')
+ self.assertEqual(auth.extract_username('user'), 'user')
+
+ def test_extract_username_extracts_from_email_address(self):
+ auth = Authentication('domain.org')
+ self.assertEqual(auth.extract_username('user@domain.org'), 'user')