summaryrefslogtreecommitdiff
path: root/tests/oauth1/rfc5849
diff options
context:
space:
mode:
authorIb Lundgren <ib.lundgren@gmail.com>2013-06-18 21:23:33 +0100
committerIb Lundgren <ib.lundgren@gmail.com>2013-06-18 21:23:33 +0100
commit012deaf43189fb94a5b7a392ccfb6c15acb03d1e (patch)
tree66a796c93e7c492b18fb4cd719393c2fafa664e5 /tests/oauth1/rfc5849
parent4d627ce3e0f1ebe346052b8dcae92d04a42af105 (diff)
downloadoauthlib-012deaf43189fb94a5b7a392ccfb6c15acb03d1e.tar.gz
Request token endpoint. #95
Diffstat (limited to 'tests/oauth1/rfc5849')
-rw-r--r--tests/oauth1/rfc5849/endpoints/test_request_token.py78
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)