66from httpsig .sign import HeaderSigner , Signer
77from httpsig .verify import HeaderVerifier , Verifier
88
9+
910sys .path .insert (0 , os .path .join (os .path .dirname (__file__ ), '..' ))
1011
1112
1213class BaseTestCase (unittest .TestCase ):
14+
1315 def _parse_auth (self , auth ):
1416 """Basic Authorization header parsing."""
1517 # split 'Signature kvpairs'
@@ -43,7 +45,8 @@ def setUp(self):
4345
4446 def test_basic_sign (self ):
4547 signer = Signer (secret = self .sign_secret , algorithm = self .algorithm )
46- verifier = Verifier (secret = self .verify_secret , algorithm = self .algorithm )
48+ verifier = Verifier (
49+ secret = self .verify_secret , algorithm = self .algorithm )
4750
4851 GOOD = b"this is a test"
4952 BAD = b"this is not the signature you were looking for..."
@@ -58,7 +61,8 @@ def test_default(self):
5861 'Date' : self .header_date
5962 }
6063
61- hs = HeaderSigner (key_id = "Test" , secret = self .sign_secret , algorithm = self .algorithm )
64+ hs = HeaderSigner (
65+ key_id = "Test" , secret = self .sign_secret , algorithm = self .algorithm )
6266 signed = hs .sign (unsigned )
6367 hv = HeaderVerifier (headers = signed , secret = self .verify_secret )
6468 self .assertTrue (hv .verify ())
@@ -67,14 +71,18 @@ def test_signed_headers(self):
6771 HOST = self .header_host
6872 METHOD = self .test_method
6973 PATH = self .test_path
70- hs = HeaderSigner (key_id = "Test" , secret = self .sign_secret , algorithm = self .algorithm , headers = [
71- '(request-target)' ,
72- 'host' ,
73- 'date' ,
74- 'content-type' ,
75- 'digest' ,
76- 'content-length'
77- ])
74+ hs = HeaderSigner (
75+ key_id = "Test" ,
76+ secret = self .sign_secret ,
77+ algorithm = self .algorithm ,
78+ headers = [
79+ '(request-target)' ,
80+ 'host' ,
81+ 'date' ,
82+ 'content-type' ,
83+ 'digest' ,
84+ 'content-length'
85+ ])
7886 unsigned = {
7987 'Host' : HOST ,
8088 'Date' : self .header_date ,
@@ -84,7 +92,9 @@ def test_signed_headers(self):
8492 }
8593 signed = hs .sign (unsigned , method = METHOD , path = PATH )
8694
87- hv = HeaderVerifier (headers = signed , secret = self .verify_secret , host = HOST , method = METHOD , path = PATH )
95+ hv = HeaderVerifier (
96+ headers = signed , secret = self .verify_secret ,
97+ host = HOST , method = METHOD , path = PATH )
8898 self .assertTrue (hv .verify ())
8999
90100 def test_incorrect_headers (self ):
@@ -110,23 +120,27 @@ def test_incorrect_headers(self):
110120 }
111121 signed = hs .sign (unsigned , method = METHOD , path = PATH )
112122
113- hv = HeaderVerifier (headers = signed , secret = self .verify_secret , required_headers = ["some-other-header" ],
123+ hv = HeaderVerifier (headers = signed , secret = self .verify_secret ,
124+ required_headers = ["some-other-header" ],
114125 host = HOST , method = METHOD , path = PATH )
115- with self .assertRaises (Exception ) as ex :
126+ with self .assertRaises (Exception ):
116127 hv .verify ()
117128
118129 def test_extra_auth_headers (self ):
119130 HOST = "example.com"
120131 METHOD = "POST"
121132 PATH = '/foo?param=value&pet=dog'
122- hs = HeaderSigner (key_id = "Test" , secret = self .sign_secret , algorithm = self .algorithm , headers = [
123- '(request-target)' ,
124- 'host' ,
125- 'date' ,
126- 'content-type' ,
127- 'digest' ,
128- 'content-length'
129- ])
133+ hs = HeaderSigner (
134+ key_id = "Test" ,
135+ secret = self .sign_secret ,
136+ algorithm = self .algorithm , headers = [
137+ '(request-target)' ,
138+ 'host' ,
139+ 'date' ,
140+ 'content-type' ,
141+ 'digest' ,
142+ 'content-length'
143+ ])
130144 unsigned = {
131145 'Host' : HOST ,
132146 'Date' : self .header_date ,
@@ -135,30 +149,41 @@ def test_extra_auth_headers(self):
135149 'Content-Length' : self .header_content_length ,
136150 }
137151 signed = hs .sign (unsigned , method = METHOD , path = PATH )
138- hv = HeaderVerifier (headers = signed , secret = self .verify_secret , method = METHOD , path = PATH ,
139- required_headers = ['date' , '(request-target)' ])
152+ hv = HeaderVerifier (
153+ headers = signed ,
154+ secret = self .verify_secret ,
155+ method = METHOD ,
156+ path = PATH ,
157+ required_headers = ['date' , '(request-target)' ])
140158 self .assertTrue (hv .verify ())
141159
142160
143161class TestVerifyHMACSHA256 (TestVerifyHMACSHA1 ):
162+
144163 def setUp (self ):
145164 super (TestVerifyHMACSHA256 , self ).setUp ()
146165 self .algorithm = "hmac-sha256"
147166
148167
149168class TestVerifyHMACSHA512 (TestVerifyHMACSHA1 ):
169+
150170 def setUp (self ):
151171 super (TestVerifyHMACSHA512 , self ).setUp ()
152172 self .algorithm = "hmac-sha512"
153173
154174
155175class TestVerifyRSASHA1 (TestVerifyHMACSHA1 ):
176+
156177 def setUp (self ):
157- private_key_path = os .path .join (os .path .dirname (__file__ ), 'rsa_private.pem' )
178+ private_key_path = os .path .join (
179+ os .path .dirname (__file__ ),
180+ 'rsa_private.pem' )
158181 with open (private_key_path , 'rb' ) as f :
159182 private_key = f .read ()
160183
161- public_key_path = os .path .join (os .path .dirname (__file__ ), 'rsa_public.pem' )
184+ public_key_path = os .path .join (
185+ os .path .dirname (__file__ ),
186+ 'rsa_public.pem' )
162187 with open (public_key_path , 'rb' ) as f :
163188 public_key = f .read ()
164189
@@ -169,12 +194,14 @@ def setUp(self):
169194
170195
171196class TestVerifyRSASHA256 (TestVerifyRSASHA1 ):
197+
172198 def setUp (self ):
173199 super (TestVerifyRSASHA256 , self ).setUp ()
174200 self .algorithm = "rsa-sha256"
175201
176202
177203class TestVerifyRSASHA512 (TestVerifyRSASHA1 ):
204+
178205 def setUp (self ):
179206 super (TestVerifyRSASHA512 , self ).setUp ()
180207 self .algorithm = "rsa-sha512"
0 commit comments