Example #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
Example #2
0
 def test_is_job_complete_with_complete_job_returns_complete(
         self, mocker, storage_archive_client):
     job_id = get_response_job_id(GetWebRestoreJobResponses.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)
     assert restore_job_manager.is_job_complete(job_id) is True
Example #3
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)
Example #4
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
Example #5
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,
     )
Example #6
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,
        )
Example #7
0
 def test_restore_job_manager_constructs_successfully(
         self, storage_archive_client):
     assert RestoreJobManager(storage_archive_client, DEVICE_GUID,
                              WEB_RESTORE_SESSION_ID)