diff options
| author | Caleb Brown <git@calebbrown.id.au> | 2012-04-18 23:54:30 +1000 |
|---|---|---|
| committer | Caleb Brown <git@calebbrown.id.au> | 2012-04-18 23:54:30 +1000 |
| commit | ae386c2154f65054427f33419bf17b6feda563d5 (patch) | |
| tree | b3f49a123aec87e95d4b57c0acd8d7148674328d /tests | |
| parent | f744f6ca1f81e6d48044f7416472f39dbd6e573c (diff) | |
| download | oauthlib-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.py | 41 |
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)) |
