summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCaleb Brown <git@calebbrown.id.au>2012-04-18 23:54:30 +1000
committerCaleb Brown <git@calebbrown.id.au>2012-04-18 23:54:30 +1000
commitae386c2154f65054427f33419bf17b6feda563d5 (patch)
treeb3f49a123aec87e95d4b57c0acd8d7148674328d /tests
parentf744f6ca1f81e6d48044f7416472f39dbd6e573c (diff)
downloadoauthlib-ae386c2154f65054427f33419bf17b6feda563d5.tar.gz
Add support to OAuth1 for including body in the base string based on
encoding. Section 3.4.1.3.1. (Parameter Sources) in rfc5849 indicates that multipart bodies are excluded from the base string when generating the signature.
Diffstat (limited to 'tests')
-rw-r--r--tests/oauth1/rfc5849/test_server.py41
1 files changed, 30 insertions, 11 deletions
diff --git a/tests/oauth1/rfc5849/test_server.py b/tests/oauth1/rfc5849/test_server.py
index 47dc426..3143e7a 100644
--- a/tests/oauth1/rfc5849/test_server.py
+++ b/tests/oauth1/rfc5849/test_server.py
@@ -31,22 +31,21 @@ class ServerTests(TestCase):
def check_timestamp_and_nonce(self, timestamp, nonce):
return True
- def test_basic_server_request(self):
- c = Client(self.CLIENT_KEY,
+ def setUp(self):
+ self.server = self.TestServer()
+ self.client = Client(self.CLIENT_KEY,
client_secret=self.CLIENT_SECRET,
resource_owner_key=self.RESOURCE_OWNER_KEY,
resource_owner_secret=self.RESOURCE_OWNER_SECRET,
)
- uri, body, headers = c.sign(u'http://server.example.com:80/init')
-
+ def test_basic_request(self):
+ uri, body, headers = self.client.sign(u'http://server.example.com:80/init')
headers = dict([(str(k), str(v)) for k, v in headers.iteritems()])
-
- s = self.TestServer()
- self.assertTrue(s.check_request_signature(uri, body=body,
+ self.assertTrue(self.server.check_request_signature(uri, body=body,
headers=headers))
- def test_server_callback_request(self):
+ def test_callback_request(self):
c = Client(self.CLIENT_KEY,
client_secret=self.CLIENT_SECRET,
resource_owner_key=self.RESOURCE_OWNER_KEY,
@@ -55,10 +54,30 @@ class ServerTests(TestCase):
)
uri, body, headers = c.sign(u'http://server.example.com:80/init')
-
headers = dict([(str(k), str(v)) for k, v in headers.iteritems()])
+ self.assertTrue(self.server.check_request_signature(uri, body=body,
+ headers=headers))
+
+ def test_multipart_body_request(self):
+ headers = {
+ u'Content-Type': u'multipart/form-data; boundary=BoUnDaRyStRiNg'
+ }
+ body = u"--BoUnDaRyStRiNg--\n\n"
- s = self.TestServer()
- self.assertTrue(s.check_request_signature(uri, body=body,
+ uri, body, headers = self.client.sign(u'http://server.example.com:80/resource',
+ body=body, headers=headers)
+
+ headers = dict([(str(k), str(v)) for k, v in headers.iteritems()])
+ self.assertTrue(self.server.check_request_signature(uri, body=body,
headers=headers))
+ def test_urlencoded_body_request(self):
+ headers = { u'Content-Type': u'application/x-www-form-urlencoded' }
+ body = u"key=value"
+
+ uri, body, headers = self.client.sign(u'http://server.example.com:80/resource',
+ body=body, headers=headers)
+
+ headers = dict([(str(k), str(v)) for k, v in headers.iteritems()])
+ self.assertTrue(self.server.check_request_signature(uri, body=body,
+ headers=headers))