def test_multiple_application_are_supported(self): apps = "foo-1.1,bar-2.0,baz-2.1" manager = SignedTokenManager(timeout=0.2, applications=apps) # this should work as we have an application specified request = FakeRequest({"application": "foo", "version": "1.1"}) token, secret, extra = manager.make_token(request, {"email": "tester"}) # asking for an unknown application should raise a 404 request = FakeRequest({"application": "undefined"}) self.assertRaises(HTTPNotFound, manager.make_token, request, {"email": "tester"})
def test_multiple_application_are_supported(self): apps = "foo-1.1,bar-2.0,baz-2.1" manager = SignedTokenManager(timeout=0.2, applications=apps) # this should work as we have an application specified request = FakeRequest({"application": "foo", "version": "1.1"}) token, secret, extra = manager.make_token(request, {"email": "tester"}) # asking for an unknown application should raise a 404 request = FakeRequest({"application": "undefined"}) self.assertRaises(HTTPNotFound, manager.make_token, request, {"email": "tester"})
def test_token_validation(self): manager = SignedTokenManager(timeout=0.2) token, secret = manager.make_token({"email":"tester"}) # Proper token == valid. data, secret2 = manager.parse_token(token) self.assertEquals(data["repoze.who.userid"], "tester") self.assertEquals(secret, secret2) # Bad signature == not valid. bad_token = token[:-1] + ("X" if token[-1] == "Z" else "Z") self.assertRaises(ValueError, manager.parse_token, bad_token) bad_token = ("X"*50).encode("base64").strip() self.assertRaises(ValueError, manager.parse_token, bad_token) # Modified payload == not valid. bad_token = "admin" + token[6:] self.assertRaises(ValueError, manager.parse_token, bad_token) # Expired token == not valid. time.sleep(0.2) self.assertRaises(ValueError, manager.parse_token, token)
def test_token_validation(self): manager = SignedTokenManager(timeout=0.2) request = FakeRequest() token, secret, _ = manager.make_token(request, {"email": "tester"}) # Proper token == valid. data, secret2 = manager.parse_token(token) self.assertEquals(data["repoze.who.userid"], "tester") self.assertEquals(secret, secret2) # Bad signature == not valid. bad_token = token[:-1] + ("X" if token[-1] == "Z" else "Z") self.assertRaises(ValueError, manager.parse_token, bad_token) bad_token = ("X" * 50).encode("base64").strip() self.assertRaises(ValueError, manager.parse_token, bad_token) # Modified payload == not valid. bad_token = "admin" + token[6:] self.assertRaises(ValueError, manager.parse_token, bad_token) # Expired token == not valid. time.sleep(0.2) self.assertRaises(ValueError, manager.parse_token, token)
def test_token_dont_validate_without_a_userid(self): manager = SignedTokenManager() token, secret = manager.make_token({"permissions":"all"}) self.assertRaises(ValueError, manager.parse_token, token)
def test_token_dont_validate_without_a_userid(self): manager = SignedTokenManager() request = FakeRequest() token, secret, _ = manager.make_token(request, {"permissions": "all"}) self.assertRaises(ValueError, manager.parse_token, token)
def test_specifying_no_applications_works(self): manager = SignedTokenManager(timeout=0.2) manager.make_token(FakeRequest(), {"email": "tester"})
def test_specifying_no_applications_works(self): manager = SignedTokenManager(timeout=0.2) manager.make_token(FakeRequest(), {"email": "tester"})