def test_read_bytes_from_non_framed_finalize(self): ct_stream = io.BytesIO(VALUES["data_128"]) test_decryptor = StreamDecryptor( materials_manager=self.mock_materials_manager, source=ct_stream, commitment_policy=self.mock_commitment_policy, ) test_decryptor.body_length = len(VALUES["data_128"]) test_decryptor.decryptor = self.mock_decryptor_instance test_decryptor.verifier = MagicMock() test_decryptor._header = self.mock_header test_decryptor._derived_data_key = sentinel.derived_data_key test_decryptor._unframed_body_iv = sentinel.unframed_body_iv self.mock_decryptor_instance.update.return_value = b"1234" self.mock_decryptor_instance.finalize.return_value = b"5678" test = test_decryptor._read_bytes_from_non_framed_body( len(VALUES["data_128"]) + 1) test_decryptor.verifier.update.assert_called_once_with( VALUES["data_128"]) self.mock_decryptor_instance.update.assert_called_once_with( VALUES["data_128"]) self.mock_deserialize_footer.assert_called_once_with( stream=test_decryptor.source_stream, verifier=test_decryptor.verifier) assert test == b"12345678"
def test_read_bytes_from_non_framed_finalize(self): ct_stream = io.BytesIO(VALUES['data_128']) test_decryptor = StreamDecryptor( key_provider=self.mock_key_provider, source=ct_stream ) test_decryptor.body_start = 0 test_decryptor.body_length = test_decryptor.body_end = len(VALUES['data_128']) test_decryptor.decryptor = self.mock_decryptor_instance test_decryptor.verifier = MagicMock() test_decryptor._header = self.mock_header self.mock_decryptor_instance.update.return_value = b'1234' self.mock_decryptor_instance.finalize.return_value = b'5678' test = test_decryptor._read_bytes_from_non_framed_body(len(VALUES['data_128']) + 1) test_decryptor.verifier.update.assert_called_once_with(VALUES['data_128']) self.mock_decryptor_instance.update.assert_called_once_with(VALUES['data_128']) self.mock_update_verifier_with_tag.assert_called_once_with( stream=test_decryptor.source_stream, header=test_decryptor._header, verifier=test_decryptor.verifier ) self.mock_deserialize_footer.assert_called_once_with( stream=test_decryptor.source_stream, verifier=test_decryptor.verifier ) assert test_decryptor.source_stream.closed assert test == b'12345678'
def test_read_bytes_from_non_framed_no_verifier(self): ct_stream = io.BytesIO(VALUES["data_128"]) test_decryptor = StreamDecryptor(key_provider=self.mock_key_provider, source=ct_stream) test_decryptor.body_length = len(VALUES["data_128"]) test_decryptor.decryptor = self.mock_decryptor_instance test_decryptor._header = self.mock_header test_decryptor._derived_data_key = sentinel.derived_data_key test_decryptor._unframed_body_iv = sentinel.unframed_body_iv test_decryptor.verifier = None self.mock_decryptor_instance.update.return_value = b"1234" test_decryptor._read_bytes_from_non_framed_body(5)
def test_read_bytes_from_non_framed_no_verifier(self): ct_stream = io.BytesIO(VALUES['data_128']) test_decryptor = StreamDecryptor(key_provider=self.mock_key_provider, source=ct_stream) test_decryptor.body_start = 0 test_decryptor.body_length = test_decryptor.body_end = len( VALUES['data_128']) test_decryptor.decryptor = self.mock_decryptor_instance test_decryptor._header = self.mock_header test_decryptor.verifier = None self.mock_decryptor_instance.update.return_value = b'1234' test_decryptor._read_bytes_from_non_framed_body(5)
def test_read_bytes_from_non_framed(self): ct_stream = io.BytesIO(VALUES["data_128"]) test_decryptor = StreamDecryptor( materials_manager=self.mock_materials_manager, source=ct_stream, commitment_policy=self.mock_commitment_policy, ) test_decryptor.body_length = len(VALUES["data_128"]) test_decryptor.decryptor = self.mock_decryptor_instance test_decryptor._header = self.mock_header test_decryptor.verifier = MagicMock() test_decryptor._derived_data_key = sentinel.derived_data_key test_decryptor._unframed_body_iv = sentinel.unframed_body_iv self.mock_decryptor_instance.update.return_value = b"1234" self.mock_decryptor_instance.finalize.return_value = b"5678" test = test_decryptor._read_bytes_from_non_framed_body(5) self.mock_deserialize_tag.assert_called_once_with( stream=test_decryptor.source_stream, header=test_decryptor._header, verifier=test_decryptor.verifier) self.mock_get_aad_content_string.assert_called_once_with( content_type=self.mock_header.content_type, is_final_frame=True) self.mock_assemble_content_aad.assert_called_once_with( message_id=self.mock_header.message_id, aad_content_string=sentinel.aad_content_string, seq_num=1, length=len(VALUES["data_128"]), ) self.mock_decryptor.assert_called_once_with( algorithm=self.mock_header.algorithm, key=sentinel.derived_data_key, associated_data=sentinel.associated_data, iv=sentinel.unframed_body_iv, tag=sentinel.tag, ) assert test_decryptor.decryptor is self.mock_decryptor_instance test_decryptor.verifier.update.assert_called_once_with( VALUES["data_128"]) self.mock_decryptor_instance.update.assert_called_once_with( VALUES["data_128"]) assert test == b"12345678"