diff options
author | Ib Lundgren <ib.lundgren@gmail.com> | 2013-06-18 21:23:33 +0100 |
---|---|---|
committer | Ib Lundgren <ib.lundgren@gmail.com> | 2013-06-18 21:23:33 +0100 |
commit | 012deaf43189fb94a5b7a392ccfb6c15acb03d1e (patch) | |
tree | 66a796c93e7c492b18fb4cd719393c2fafa664e5 /tests/oauth1/rfc5849 | |
parent | 4d627ce3e0f1ebe346052b8dcae92d04a42af105 (diff) | |
download | oauthlib-012deaf43189fb94a5b7a392ccfb6c15acb03d1e.tar.gz |
Request token endpoint. #95
Diffstat (limited to 'tests/oauth1/rfc5849')
-rw-r--r-- | tests/oauth1/rfc5849/endpoints/test_request_token.py | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/tests/oauth1/rfc5849/endpoints/test_request_token.py b/tests/oauth1/rfc5849/endpoints/test_request_token.py new file mode 100644 index 0000000..1743eda --- /dev/null +++ b/tests/oauth1/rfc5849/endpoints/test_request_token.py @@ -0,0 +1,78 @@ +from __future__ import unicode_literals, absolute_import + +from mock import MagicMock +from ....unittest import TestCase + +from oauthlib.oauth1.rfc5849 import Client +from oauthlib.oauth1 import RequestValidator +from oauthlib.oauth1.rfc5849.endpoints import RequestTokenEndpoint + + +class RequestTokenEndpointTest(TestCase): + + def setUp(self): + self.validator = MagicMock(wraps=RequestValidator()) + self.validator.check_client_key.return_value = True + self.validator.allowed_signature_methods = ['HMAC-SHA1'] + self.validator.get_client_secret.return_value = 'bar' + self.validator.get_default_realms.return_value = ['foo'] + self.validator.timestamp_lifetime = 600 + self.validator.check_realm.return_value = True + self.validator.validate_client_key.return_value = True + self.validator.validate_requested_realm.return_value = True + self.validator.validate_redirect_uri.return_value = True + self.validator.validate_timestamp_and_nonce.return_value = True + self.validator.dummy_client = 'dummy' + self.validator.dummy_secret = 'dummy' + self.validator.save_request_token = MagicMock() + self.endpoint = RequestTokenEndpoint(self.validator) + self.client = Client('foo', client_secret='bar', realm='foo', + callback_uri='https://c.b/cb') + self.uri, self.headers, self.body = self.client.sign( + 'https://i.b/request_token') + + def test_check_redirect_uri(self): + client = Client('foo') + uri, headers, _ = client.sign(self.uri) + u, h, b, s = self.endpoint.create_request_token_response( + uri, headers=headers) + self.assertEqual(s, 400) + self.assertIn('invalid_request', b) + + def test_check_realm(self): + self.validator.check_realm.return_value = False + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=self.headers) + self.assertEqual(s, 400) + self.assertIn('invalid_request', b) + + def test_validate_client_key(self): + self.validator.validate_client_key.return_value = False + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=self.headers) + self.assertEqual(s, 403) + + def test_validate_realm(self): + self.validator.validate_requested_realm.return_value = False + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=self.headers) + self.assertEqual(s, 403) + + def test_validate_redirect_uri(self): + self.validator.validate_redirect_uri.return_value = False + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=self.headers) + self.assertEqual(s, 403) + + def test_validate_signature(self): + client = Client('foo', callback_uri='https://c.b/cb') + _, headers, _ = client.sign(self.uri + '/extra') + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=headers) + self.assertEqual(s, 403) + + def test_valid_request(self): + u, h, b, s = self.endpoint.create_request_token_response( + self.uri, headers=self.headers) + self.assertEqual(s, 200) + self.assertIn('oauth_token', b) |