77from cryptography .hazmat .primitives .asymmetric import ec
88from cryptography .hazmat .primitives .serialization import Encoding , PublicFormat
99
10- from nose . tools import eq_ , assert_raises
10+ from pytest import raises
1111
1212import http_ece as ece
1313from http_ece import ECEException
@@ -59,7 +59,7 @@ def setUp(self):
5959 self .m_salt = os .urandom (16 )
6060
6161 def test_derive_key_invalid_mode (self ):
62- with assert_raises (ECEException ) as ex :
62+ with raises (ECEException ) as ex :
6363 ece .derive_key (
6464 "invalid" ,
6565 version = "aes128gcm" ,
@@ -70,10 +70,10 @@ def test_derive_key_invalid_mode(self):
7070 auth_secret = None ,
7171 keyid = "valid" ,
7272 )
73- eq_ ( ex .exception .message , "unknown 'mode' specified: invalid" )
73+ assert ex .value .message == "unknown 'mode' specified: invalid"
7474
7575 def test_derive_key_invalid_salt (self ):
76- with assert_raises (ECEException ) as ex :
76+ with raises (ECEException ) as ex :
7777 ece .derive_key (
7878 "encrypt" ,
7979 version = "aes128gcm" ,
@@ -84,10 +84,10 @@ def test_derive_key_invalid_salt(self):
8484 auth_secret = None ,
8585 keyid = "valid" ,
8686 )
87- eq_ ( ex .exception .message , "'salt' must be a 16 octet value" )
87+ assert ex .value .message == "'salt' must be a 16 octet value"
8888
8989 def test_derive_key_invalid_version (self ):
90- with assert_raises (ECEException ) as ex :
90+ with raises (ECEException ) as ex :
9191 ece .derive_key (
9292 "encrypt" ,
9393 version = "invalid" ,
@@ -98,10 +98,10 @@ def test_derive_key_invalid_version(self):
9898 auth_secret = None ,
9999 keyid = "valid" ,
100100 )
101- eq_ ( ex .exception .message , "Invalid version" )
101+ assert ex .value .message == "Invalid version"
102102
103103 def test_derive_key_no_private_key (self ):
104- with assert_raises (ECEException ) as ex :
104+ with raises (ECEException ) as ex :
105105 ece .derive_key (
106106 "encrypt" ,
107107 version = "aes128gcm" ,
@@ -112,10 +112,10 @@ def test_derive_key_no_private_key(self):
112112 auth_secret = None ,
113113 keyid = "valid" ,
114114 )
115- eq_ ( ex .exception .message , "DH requires a private_key" )
115+ assert ex .value .message == "DH requires a private_key"
116116
117117 def test_derive_key_no_secret (self ):
118- with assert_raises (ECEException ) as ex :
118+ with raises (ECEException ) as ex :
119119 ece .derive_key (
120120 "encrypt" ,
121121 version = "aes128gcm" ,
@@ -126,12 +126,12 @@ def test_derive_key_no_secret(self):
126126 auth_secret = None ,
127127 keyid = "valid" ,
128128 )
129- eq_ ( ex .exception .message , "unable to determine the secret" )
129+ assert ex .value .message == "unable to determine the secret"
130130
131131 def test_iv_bad_counter (self ):
132- with assert_raises (ECEException ) as ex :
132+ with raises (ECEException ) as ex :
133133 ece .iv (os .urandom (8 ), pow (2 , 64 ) + 1 )
134- eq_ ( ex .exception .message , "Counter too big" )
134+ assert ex .value .message == "Counter too big"
135135
136136
137137class TestEceChecking (unittest .TestCase ):
@@ -144,76 +144,76 @@ def setUp(self):
144144 self .m_header += struct .pack ("!L" , 32 ) + b"\0 "
145145
146146 def test_encrypt_small_rs (self ):
147- with assert_raises (ECEException ) as ex :
147+ with raises (ECEException ) as ex :
148148 ece .encrypt (
149149 self .m_input ,
150150 version = "aes128gcm" ,
151151 key = self .m_key ,
152152 rs = 1 ,
153153 )
154- eq_ ( ex .exception .message , "Record size too small" )
154+ assert ex .value .message == "Record size too small"
155155
156156 def test_decrypt_small_rs (self ):
157157 header = os .urandom (16 ) + struct .pack ("!L" , 2 ) + b"\0 "
158- with assert_raises (ECEException ) as ex :
158+ with raises (ECEException ) as ex :
159159 ece .decrypt (
160160 header + self .m_input ,
161161 version = "aes128gcm" ,
162162 key = self .m_key ,
163163 rs = 1 ,
164164 )
165- eq_ ( ex .exception .message , "Record size too small" )
165+ assert ex .value .message == "Record size too small"
166166
167167 def test_encrypt_bad_version (self ):
168- with assert_raises (ECEException ) as ex :
168+ with raises (ECEException ) as ex :
169169 ece .encrypt (
170170 self .m_input ,
171171 version = "bogus" ,
172172 key = self .m_key ,
173173 )
174- eq_ ( ex .exception .message , "Invalid version" )
174+ assert ex .value .message == "Invalid version"
175175
176176 def test_decrypt_bad_version (self ):
177- with assert_raises (ECEException ) as ex :
177+ with raises (ECEException ) as ex :
178178 ece .decrypt (
179179 self .m_input ,
180180 version = "bogus" ,
181181 key = self .m_key ,
182182 )
183- eq_ ( ex .exception .message , "Invalid version" )
183+ assert ex .value .message == "Invalid version"
184184
185185 def test_decrypt_bad_header (self ):
186- with assert_raises (ECEException ) as ex :
186+ with raises (ECEException ) as ex :
187187 ece .decrypt (
188188 os .urandom (4 ),
189189 version = "aes128gcm" ,
190190 key = self .m_key ,
191191 )
192- eq_ ( ex .exception .message , "Could not parse the content header" )
192+ assert ex .value .message == "Could not parse the content header"
193193
194194 def test_encrypt_long_keyid (self ):
195- with assert_raises (ECEException ) as ex :
195+ with raises (ECEException ) as ex :
196196 ece .encrypt (
197197 self .m_input ,
198198 version = "aes128gcm" ,
199199 key = self .m_key ,
200200 keyid = b64e (os .urandom (192 )), # 256 bytes
201201 )
202- eq_ ( ex .exception .message , "keyid is too long" )
202+ assert ex .value .message == "keyid is too long"
203203
204204 def test_overlong_padding (self ):
205- with assert_raises (ECEException ) as ex :
205+ with raises (ECEException ) as ex :
206206 ece .decrypt (
207207 self .m_header + b"\xbb \xc7 \xb9 ev\x0b \xf0 f+\x93 \xf4 "
208208 b"\xe5 \xd6 \x94 \xb7 e\xf0 \xcd \x15 \x9b (\x01 \xa5 " ,
209209 version = "aes128gcm" ,
210210 key = b"d\xc7 \x0e d\xa7 %U\x14 Q\xf2 \x08 \xdf \xba \xa0 \xb9 r" ,
211211 keyid = b64e (os .urandom (192 )), # 256 bytes
212212 )
213- eq_ ( ex .exception .message , "all zero record plaintext" )
213+ assert ex .value .message == "all zero record plaintext"
214214
215215 def test_bad_early_delimiter (self ):
216- with assert_raises (ECEException ) as ex :
216+ with raises (ECEException ) as ex :
217217 ece .decrypt (
218218 self .m_header + b"\xb9 \xc7 \xb9 ev\x0b \xf0 \x9e B\xb1 \x08 C8u"
219219 b"\xa3 \x06 \xc9 x\x06 \n \xfc |}\xe9 R\x85 \x91 "
@@ -224,29 +224,29 @@ def test_bad_early_delimiter(self):
224224 key = b"d\xc7 \x0e d\xa7 %U\x14 Q\xf2 \x08 \xdf \xba \xa0 \xb9 r" ,
225225 keyid = b64e (os .urandom (192 )), # 256 bytes
226226 )
227- eq_ ( ex .exception .message , "record delimiter != 1" )
227+ assert ex .value .message == "record delimiter != 1"
228228
229229 def test_bad_final_delimiter (self ):
230- with assert_raises (ECEException ) as ex :
230+ with raises (ECEException ) as ex :
231231 ece .decrypt (
232232 self .m_header + b"\xba \xc7 \xb9 ev\x0b \xf0 \x9e B\xb1 \x08 Ji"
233233 b"\xe4 P\x1b \x8d I\xdb \xc6 y#MG\xc2 W\x16 " ,
234234 version = "aes128gcm" ,
235235 key = b"d\xc7 \x0e d\xa7 %U\x14 Q\xf2 \x08 \xdf \xba \xa0 \xb9 r" ,
236236 keyid = b64e (os .urandom (192 )), # 256 bytes
237237 )
238- eq_ ( ex .exception .message , "last record delimiter != 2" )
238+ assert ex .value .message == "last record delimiter != 2"
239239
240240 def test_damage (self ):
241- with assert_raises (ECEException ) as ex :
241+ with raises (ECEException ) as ex :
242242 ece .decrypt (
243243 self .m_header + b"\xbb \xc6 \xb1 \x1d F:~\x0f \x07 +\xbe \xaa D"
244244 b"\xe0 \xd6 .K\xe5 \xf9 ]%\xe3 \x86 q\xe0 }" ,
245245 version = "aes128gcm" ,
246246 key = b"d\xc7 \x0e d\xa7 %U\x14 Q\xf2 \x08 \xdf \xba \xa0 \xb9 r" ,
247247 keyid = b64e (os .urandom (192 )), # 256 bytes
248248 )
249- eq_ ( ex .exception .message , "Decryption error: InvalidTag()" )
249+ assert ex .value .message == "Decryption error: InvalidTag()"
250250
251251
252252class TestEceIntegration (unittest .TestCase ):
@@ -319,7 +319,7 @@ def encrypt_decrypt(self, input, encrypt_params, decrypt_params=None, version=No
319319 version = version ,
320320 )
321321 logbuf ("Decrypted" , decrypted )
322- eq_ ( input , decrypted )
322+ assert input == decrypted
323323
324324 def use_explicit_key (self , version = None ):
325325 params = {
@@ -350,9 +350,9 @@ def detect_truncation(self, version):
350350 chunk = encrypted [0 : 21 + rs ]
351351 else :
352352 chunk = encrypted [0 : rs + 16 ]
353- with assert_raises (ECEException ) as ex :
353+ with raises (ECEException ) as ex :
354354 ece .decrypt (chunk , salt = salt , key = key , rs = rs , version = version )
355- eq_ ( ex .exception .message , "Message truncated" )
355+ assert ex .value .message == "Message truncated"
356356
357357 def use_dh (self , version ):
358358 def pubbytes (k ):
@@ -487,7 +487,7 @@ def _run(self, mode):
487487 rs = p .get ("rs" , 4096 ),
488488 version = p ["version" ],
489489 )
490- eq_ ( b64d (data [outp ]), result )
490+ assert b64d (data [outp ]) == result
491491
492492 def test_decrypt (self ):
493493 self ._run ("decrypt" )
0 commit comments