Skip to content

Commit da1b60c

Browse files
committed
Add test for lowering and then sorting
1 parent 22cc9f6 commit da1b60c

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

tests/test_client.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,29 @@ def test_invalid_signature_version_raises(self):
187187
e.exception.args[0],
188188
"Unknown signature version: {}".format(999))
189189

190+
def test_signature_v5_lowers_and_then_sorts_headers(self):
191+
hashed_body = hashlib.sha512(JSON_STRING.encode('utf-8')).hexdigest()
192+
headers = {
193+
"x-duo-A": "header_value_1",
194+
"X-Duo-B": "header_value_2"
195+
196+
}
197+
expected = (
198+
'Tue, 17 Nov 2020 14:12:00\n'
199+
'POST\n'
200+
'foo.bar52.com\n'
201+
'/Foo/BaR2/qux\n\n'
202+
+ hashed_body
203+
+'\n60be11a30e0756f2ee2afdce1db849b987dcf86c1133394b'
204+
'd7bbbc9877920330c4d78aceacbb377ab8cbd9a8efe6a410fed4047376635ac71226ab46ca10d2b1')
205+
params = {}
206+
body = duo_client.client.Client.canon_json(JSON_BODY)
207+
actual = duo_client.client.canonicalize(
208+
'POST', 'foO.BaR52.cOm', '/Foo/BaR2/qux', params, 'Tue, 17 Nov 2020 14:12:00',
209+
sig_version=5, body=body, additional_headers=headers)
210+
#raise Exception(actual)
211+
self.assertEqual(actual, expected)
212+
190213

191214
class TestNormalizePageArgs(unittest.TestCase):
192215

0 commit comments

Comments
 (0)