import io import tempfile import unittest from s3_uploader.copier import stream_to_stream class StreamToStreamCopierTest(unittest.TestCase): def test_copy_to_multiple_targets(self): content = b'origin txt report' origin = io.BytesIO(content) target_1, target_2 = io.BytesIO(), io.BytesIO() target_1_size, target_2_size = stream_to_stream.copy( origin, targets=[ target_1, target_2, ], chunk_size=1024, ) target_1.seek(0) target_2.seek(0) self.assertEqual(target_1.read(), content) self.assertEqual(target_2.read(), content) self.assertEqual(target_1_size, len(content)) self.assertEqual(target_2_size, len(content))