@@ -58,8 +58,6 @@ def setUp(self):
58
58
59
59
self .mock_master_key = MagicMock (__class__ = MasterKey )
60
60
61
- self .mock_input_stream = MagicMock (__class__ = io .IOBase )
62
-
63
61
self .mock_frame_length = MagicMock (__class__ = int )
64
62
65
63
self .mock_algorithm = MagicMock (__class__ = Algorithm )
@@ -178,7 +176,7 @@ def tearDown(self):
178
176
179
177
def test_init (self ):
180
178
test_encryptor = StreamEncryptor (
181
- source = self .mock_input_stream ,
179
+ source = io . BytesIO ( self .plaintext ) ,
182
180
key_provider = self .mock_key_provider ,
183
181
frame_length = self .mock_frame_length ,
184
182
algorithm = self .mock_algorithm ,
@@ -190,7 +188,7 @@ def test_init(self):
190
188
def test_init_non_framed_message_too_large (self ):
191
189
with six .assertRaisesRegex (self , SerializationError , "Source too large for non-framed message" ):
192
190
StreamEncryptor (
193
- source = self .mock_input_stream ,
191
+ source = io . BytesIO ( self .plaintext ) ,
194
192
key_provider = self .mock_key_provider ,
195
193
frame_length = 0 ,
196
194
algorithm = self .mock_algorithm ,
@@ -200,7 +198,7 @@ def test_init_non_framed_message_too_large(self):
200
198
def test_prep_message_no_master_keys (self ):
201
199
self .mock_key_provider .master_keys_for_encryption .return_value = sentinel .primary_master_key , set ()
202
200
test_encryptor = StreamEncryptor (
203
- source = self .mock_input_stream ,
201
+ source = io . BytesIO ( self .plaintext ) ,
204
202
key_provider = self .mock_key_provider ,
205
203
frame_length = self .mock_frame_length ,
206
204
source_length = 5 ,
@@ -215,7 +213,7 @@ def test_prep_message_primary_master_key_not_in_master_keys(self):
215
213
self .mock_master_keys_set ,
216
214
)
217
215
test_encryptor = StreamEncryptor (
218
- source = self .mock_input_stream ,
216
+ source = io . BytesIO ( self .plaintext ) ,
219
217
key_provider = self .mock_key_provider ,
220
218
frame_length = self .mock_frame_length ,
221
219
source_length = 5 ,
@@ -227,7 +225,7 @@ def test_prep_message_primary_master_key_not_in_master_keys(self):
227
225
def test_prep_message_algorithm_change (self ):
228
226
self .mock_encryption_materials .algorithm = Algorithm .AES_256_GCM_IV12_TAG16
229
227
test_encryptor = StreamEncryptor (
230
- source = self .mock_input_stream ,
228
+ source = io . BytesIO ( self .plaintext ) ,
231
229
materials_manager = self .mock_materials_manager ,
232
230
algorithm = Algorithm .AES_128_GCM_IV12_TAG16 ,
233
231
source_length = 128 ,
@@ -255,7 +253,7 @@ def test_prep_message_framed_message(
255
253
):
256
254
mock_rostream .return_value = sentinel .plaintext_rostream
257
255
test_encryptor = StreamEncryptor (
258
- source = self .mock_input_stream ,
256
+ source = io . BytesIO ( self .plaintext ) ,
259
257
materials_manager = self .mock_materials_manager ,
260
258
frame_length = self .mock_frame_length ,
261
259
source_length = 5 ,
@@ -359,7 +357,7 @@ def test_write_header(self):
359
357
@patch ("aws_encryption_sdk.streaming_client.non_framed_body_iv" )
360
358
def test_prep_non_framed (self , mock_non_framed_iv ):
361
359
self .mock_serialize_non_framed_open .return_value = b"1234567890"
362
- test_encryptor = StreamEncryptor (source = self .mock_input_stream , key_provider = self .mock_key_provider )
360
+ test_encryptor = StreamEncryptor (source = io . BytesIO ( self .plaintext ) , key_provider = self .mock_key_provider )
363
361
test_encryptor .signer = sentinel .signer
364
362
test_encryptor ._encryption_materials = self .mock_encryption_materials
365
363
test_encryptor ._header = MagicMock ()
@@ -411,7 +409,7 @@ def test_read_bytes_to_non_framed_body_too_large(self):
411
409
test_encryptor ._read_bytes_to_non_framed_body (5 )
412
410
413
411
def test_read_bytes_to_non_framed_body_close (self ):
414
- test_encryptor = StreamEncryptor (source = self .mock_input_stream , key_provider = self .mock_key_provider )
412
+ test_encryptor = StreamEncryptor (source = io . BytesIO ( self .plaintext ) , key_provider = self .mock_key_provider )
415
413
test_encryptor .signer = MagicMock ()
416
414
test_encryptor ._encryption_materials = self .mock_encryption_materials
417
415
test_encryptor .encryptor = MagicMock ()
@@ -420,7 +418,9 @@ def test_read_bytes_to_non_framed_body_close(self):
420
418
test_encryptor .encryptor .tag = sentinel .tag
421
419
self .mock_serialize_non_framed_close .return_value = b"789"
422
420
self .mock_serialize_footer .return_value = b"0-="
421
+
423
422
test = test_encryptor ._read_bytes_to_non_framed_body (len (self .plaintext ) + 1 )
423
+
424
424
test_encryptor .signer .update .assert_has_calls (calls = (call (b"123" ), call (b"456" )), any_order = False )
425
425
assert test_encryptor .source_stream .closed
426
426
test_encryptor .encryptor .finalize .assert_called_once_with ()
0 commit comments