diff options
author | Bruno Wagner <bwagner@riseup.net> | 2016-10-20 19:13:00 -0200 |
---|---|---|
committer | Denis Costa <deniscostadsc@gmail.com> | 2016-10-26 14:34:31 -0200 |
commit | 7e805dff08d4cbe14abab567edb7a301bdde6dda (patch) | |
tree | ebeb7489008ac26030707d9588ac08813400b5ce /service/test/unit/test_authentication.py | |
parent | fb72ea1b893a9152f6bbc798e9d734e01fe42b3b (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.py | 34 |
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') |