示例#1
0
    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
示例#2
0
 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
示例#3
0
 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,
     )
示例#4
0
    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,
        )
示例#5
0
 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)