Fix handling of readme example

Fixes #5
pull/21/head
Andrey Kislyuk 2020-04-25 14:02:22 -07:00
parent f1ced58164
commit 6b415c19f2
No known key found for this signature in database
GPG Key ID: 8AFAFCD242818A52
2 changed files with 7 additions and 1 deletions

View File

@ -98,7 +98,7 @@ class HTTPSignatureAuth(requests.auth.AuthBase):
self.add_date(request)
self.add_digest(request)
raw_sig = Crypto(self.algorithm).sign(string_to_sign=self.get_string_to_sign(request, self.headers),
key=self.key,
key=self.key.encode() if isinstance(self.key, str) else self.key,
passphrase=self.passphrase)
sig = base64.b64encode(raw_sig).decode()
sig_struct = [("keyId", self.key_id),

View File

@ -43,6 +43,12 @@ class TestRequestsHTTPSignature(unittest.TestCase):
self.session = requests.Session()
self.session.mount("http://", TestAdapter(self))
def test_readme_example(self):
preshared_key_id = 'squirrel'
preshared_secret = 'monorail_cat'
url = 'http://example.com/path'
requests.get(url, auth=HTTPSignatureAuth(key=preshared_secret, key_id=preshared_key_id))
def test_basic_statements(self):
url = 'http://example.com/path?query#fragment'
self.session.get(url, auth=HTTPSignatureAuth(key=hmac_secret, key_id="sekret"))