"""Test transfer_from_s3_to_s3.""" from video.connectors import s3 as s3_connector from video.constants import assets from video.constants import job_io_fields from video.logic.activities import transfer_from_s3_to_s3 from video.models import ows_video def test_transfer_from_s3_to_s3(mocker): """Test transfer_from_s3_to_s3.""" workflow_job_id = 1 transfer_job_id = 2 input_video_bucket = 'test-orcd-video-assets' input_video_key = 'ingest/incoming/video.mp4' output_video_bucket = assets.VIDEO_S3_BUCKET output_video_key = assets.RAW_S3_KEY_TEMPLATE.format( workflow_job_id=workflow_job_id, file_name='video.mp4') mocker.patch.object( s3_connector, 'get_s3_client', autospec=True, ) mocker.patch.object( ows_video, 'get_job', autospec=True, return_value={ 'inputs': { job_io_fields.INPUT_VIDEO_S3_BUCKET: input_video_bucket, job_io_fields.INPUT_VIDEO_S3_KEY: input_video_key } } ) inputs = { job_io_fields.WORKFLOW_JOB_ID: workflow_job_id, job_io_fields.TRANSFER_FROM_S3_TO_S3_JOB_ID: transfer_job_id } expected_outputs = { job_io_fields.INPUT_VIDEO_S3_BUCKET: output_video_bucket, job_io_fields.INPUT_VIDEO_S3_KEY: output_video_key } outputs = transfer_from_s3_to_s3.transfer_from_s3_to_s3(inputs) assert expected_outputs == outputs (s3_connector .get_s3_client .return_value .copy .assert_called_once_with( { 'Bucket': input_video_bucket, 'Key': input_video_key }, Bucket=output_video_bucket, Key=output_video_key)) (s3_connector .get_s3_client .return_value .delete_object .assert_called_once_with( Bucket=input_video_bucket, Key=input_video_key ))