def METHOD_NAME(test):
    test.kwargs.update({
        'dataSourceType': 'AzureBlob',
        'sourceDataStore': 'OperationalStore',
        'backupInstanceName': 'clitestsabidonotdelete-clitestsabidonotdelete-887c3538-0bfc-11ee-acd3-002b670b472e',
        'backupInstanceId': '/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourceGroups/clitest-dpp-rg/providers/Microsoft.DataProtection/backupVaults/clitest-bkp-vault-persistent-bi-donotdelete/backupInstances/clitestsabidonotdelete-clitestsabidonotdelete-887c3538-0bfc-11ee-acd3-002b670b472e',
        'dataSourceName': 'clitestsabidonotdelete',
        'dataSourceId': '/subscriptions/38304e13-357e-405e-9e9a-220351dcce8c/resourceGroups/clitest-dpp-rg/providers/Microsoft.Storage/storageAccounts/clitestsabidonotdelete',
        'restoreLocation': 'centraluseuap',
    })
    restorable_time_range = test.cmd('az dataprotection restorable-time-range find -g "{rg}" --vault-name "{vaultName}" --backup-instance-name "{backupInstanceName}" '
                                     '--source-data-store-type "{sourceDataStore}"', checks=[
        test.greater_than('length(properties.restorableTimeRanges)', 0)
    ]).get_output_in_json()
    restore_point_in_time = get_midpoint_of_time_range(
        restorable_time_range['properties']['restorableTimeRanges'][0]['startTime'],
        restorable_time_range['properties']['restorableTimeRanges'][0]['endTime']
    )
    test.kwargs.update({
        'restorePointInTime': restore_point_in_time
    })
    restore_request = test.cmd('az dataprotection backup-instance restore initialize-for-data-recovery '
                               '--datasource-type "{dataSourceType}" --restore-location "{restoreLocation}" --source-datastore "{sourceDataStore}" '
                               '--point-in-time "{restorePointInTime}" --backup-instance-id "{backupInstanceId}"').get_output_in_json()
    test.kwargs.update({"restoreRequest": restore_request})
    # Ensure no other jobs running on datasource. Required to avoid operation clashes.
    wait_for_job_exclusivity_on_datasource(test)
    test.cmd('az dataprotection backup-instance validate-for-restore -g "{rg}" --vault-name "{vaultName}" -n "{backupInstanceName}" --restore-request-object "{restoreRequest}"')
    restore_trigger_json = test.cmd('az dataprotection backup-instance restore trigger -g "{rg}" --vault-name "{vaultName}" '
                                    '-n "{backupInstanceName}" --restore-request-object "{restoreRequest}"').get_output_in_json()
    test.kwargs.update({"jobId": restore_trigger_json["jobId"]})
    test.cmd('az dataprotection job show --ids "{jobId}"', checks=[
        test.check('properties.dataSourceName', "{dataSourceName}"),
        test.exists('properties.extendedInfo.recoveryDestination')
    ])