def test_get_stream_polls_job_status_until_job_is_complete( self, mocker, storage_archive_client, file_selection): mock_start_restore_response(mocker, storage_archive_client, GetWebRestoreJobResponses.NOT_DONE) mock_get_restore_status_responses( mocker, storage_archive_client, [ GetWebRestoreJobResponses.NOT_DONE, GetWebRestoreJobResponses.NOT_DONE, GetWebRestoreJobResponses.DONE, ], ) restore_job_manager = RestoreJobManager( storage_archive_client, DEVICE_GUID, WEB_RESTORE_SESSION_ID, job_polling_interval=0.000001, ) restore_job_manager.get_stream(file_selection) job_id = get_response_job_id(GetWebRestoreJobResponses.DONE) expected_call = mocker.call(job_id) storage_archive_client.get_restore_status.assert_has_calls( [expected_call, expected_call, expected_call]) assert storage_archive_client.get_restore_status.call_count == 3
def test_get_stream_when_is_directory_type_sets_zip_result_to_true( self, mocker, storage_archive_client, single_dir_selection, file_content_chunks): mock_start_restore_response(mocker, storage_archive_client, GetWebRestoreJobResponses.NOT_DONE) mock_get_restore_status_responses(mocker, storage_archive_client, [GetWebRestoreJobResponses.DONE]) stream_restore_result_response_mock(mocker, storage_archive_client, file_content_chunks) restore_job_manager = RestoreJobManager(storage_archive_client, DEVICE_GUID, WEB_RESTORE_SESSION_ID) restore_job_manager.get_stream(single_dir_selection) actual = storage_archive_client.start_restore.call_args[1][ "zip_result"] assert actual is True
def test_get_stream_calls_start_restore_with_correct_args( self, mocker, storage_archive_client, single_file_selection): mock_start_restore_response(mocker, storage_archive_client, GetWebRestoreJobResponses.NOT_DONE) mock_get_restore_status_responses(mocker, storage_archive_client, [GetWebRestoreJobResponses.DONE]) restore_job_manager = RestoreJobManager(storage_archive_client, DEVICE_GUID, WEB_RESTORE_SESSION_ID) restore_job_manager.get_stream(single_file_selection) storage_archive_client.start_restore.assert_called_once_with( guid=DEVICE_GUID, web_restore_session_id=WEB_RESTORE_SESSION_ID, path_set=[single_file_selection[0].path_set], num_files=1, num_dirs=1, size=1, show_deleted=True, zip_result=None, )
def test_get_stream_calls_start_restore_with_correct_args( self, mocker, storage_archive_client, file_selection): mock_start_restore_response(mocker, storage_archive_client, GetWebRestoreJobResponses.NOT_DONE) mock_get_restore_status_responses(mocker, storage_archive_client, [GetWebRestoreJobResponses.DONE]) restore_job_manager = RestoreJobManager(storage_archive_client, DEVICE_GUID, WEB_RESTORE_SESSION_ID) restore_job_manager.get_stream(file_selection) storage_archive_client.start_restore.assert_called_once_with( DEVICE_GUID, WEB_RESTORE_SESSION_ID, file_selection.path_set, file_selection.num_files, file_selection.num_dirs, file_selection.size, show_deleted=True, )
def test_get_stream_when_successful_returns_response( self, mocker, storage_archive_client, file_selection, file_content_chunks): mock_start_restore_response(mocker, storage_archive_client, GetWebRestoreJobResponses.NOT_DONE) mock_get_restore_status_responses(mocker, storage_archive_client, [GetWebRestoreJobResponses.DONE]) stream_restore_result_response_mock(mocker, storage_archive_client, file_content_chunks) restore_job_manager = RestoreJobManager(storage_archive_client, DEVICE_GUID, WEB_RESTORE_SESSION_ID) assert restore_job_manager.get_stream(file_selection)