예제 #1
0
def test_Druva_Restore_Status(requests_mock):
    from Druva import Client, Druva_Restore_Status
    mock_response = {
        'deviceID': '12345',
        'targetDeviceID': '12345',
        'restoreLocation': 'Desktop',
        'userID': '12345',
        'status': 'Successful'
    }

    requests_mock.get('https://apis.druva.com/insync/endpoints/v1/restores/100', json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    restore_id = '100'
    response = Druva_Restore_Status(client, restore_id)
    assert response[1]["Druva.restoreJobs(val.restoreID == obj.restoreID)"] == {
        'deviceID': '12345',
        'targetDeviceID': '12345',
        'restoreLocation': 'Desktop',
        'userID': '12345',
        'status': 'Successful'
    }
예제 #2
0
def test_Druva_ListQuarantineRanges_Command(requests_mock):
    from Druva import Client, Druva_ListQuarantineRanges_Command
    mock_response = {'quarantineRanges': [{
        'rangeID': '100',
        'resourceID': '12345',
        'resourceType': 'Endpoint',
        'startDate': '2020-12-01',
        'endDate': '2020-12-10'
    }]}

    requests_mock.get('https://apis.druva.com/realize/ransomwarerecovery/v1/quarantineranges', json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )

    response = Druva_ListQuarantineRanges_Command(client)
    assert response[1]["Druva.activeQuarantineRanges(val.rangeID == obj.rangeID)"] == [{
        'rangeID': '100',
        'resourceID': '12345',
        'resourceType': 'Endpoint',
        'startDate': '2020-12-01',
        'endDate': '2020-12-10'
    }]
예제 #3
0
def test_Druva_Restore_Endpoint(requests_mock):
    from Druva import Client, Druva_Restore_Endpoint
    mock_response = {'restores': [{
        'deviceID': '12345',
        'targetDeviceID': '12345',
        'restoreLocation': 'Desktop',
        'userID': '12345',
        'restoreID': '100'
    }]}
    requests_mock.post('https://apis.druva.com/insync/endpoints/v1/restores', json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    source_resourceid = '12345'
    target_resourceid = '12345'
    restore_location = 'Desktop'

    response = Druva_Restore_Endpoint(client, source_resourceid, target_resourceid, restore_location)
    assert response[1]["Druva.restoreJobs(val.restoreID == obj.restoreID)"] == [{
        'deviceID': '12345',
        'targetDeviceID': '12345',
        'restoreLocation': 'Desktop',
        'userID': '12345',
        'restoreID': '100'
    }]
예제 #4
0
def test_Druva_SearchbyFileHash_Command(requests_mock):
    from Druva import Client, Druva_SearchbyFileHash_Command
    mock_response = {'results': [{
        'resourceID': '12345',
        'resourceParent': 'testUser',
        'resourceType': 'endpoint'
    }]}

    requests_mock.get(
        'https://apis.druva.com/realize/mds/v1/user/files?sha1Checksum=12345abcdef6789ghijkl101112mnop',
        json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    sha1_checksum = '12345abcdef6789ghijkl101112mnop'
    response = Druva_SearchbyFileHash_Command(client, sha1_checksum)
    assert response[1]["Druva.searchEndpointsFileHashResults(val.objectID == obj.objectID)"] == [{
        'resourceID': '12345',
        'resourceParent': 'testUser',
        'resourceType': 'endpoint'
    }]
예제 #5
0
def test_Druva_FindDevice_Command(requests_mock):
    from Druva import Client, Druva_FindDevice_Command
    mock_response = {'resources': [{
        'orgID': '-1',
        'resourceID': '12345',
        'resourceName': 'test',
        'resourceParent': 'testUser',
        'resourceStatus': 'enabled',
        'resourceType': 'endpoint'
    }]}
    requests_mock.get('https://apis.druva.com/realize/ransomwarerecovery/v1/search/resource?hostname=test',
                      json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    search_string = 'test'
    response = Druva_FindDevice_Command(client, search_string)
    assert response[1]["Druva.Resource(val.resourceID == obj.resourceID)"] == [{
        'orgID': '-1',
        'resourceID': '12345',
        'resourceName': 'test',
        'resourceParent': 'testUser',
        'resourceStatus': 'enabled',
        'resourceType': 'endpoint'
    }]
예제 #6
0
def test_Druva_ListQuarantine_Snapshots_Command(requests_mock):
    from Druva import Client, Druva_ListQuarantine_Snapshots_Command
    mock_response = {'snapshots': [{
        'name': 'May 4 2020, 15:02',
        'snapshotID': 'TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw',
        'snapshotSize': 'Endpoint',
        'status': 'Quarantined'
    }]}

    requests_mock.get('https://apis.druva.com/realize/ransomwarerecovery/v1/snapshots/resource/28604/range/233',
                      json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    resource_id = '28604'
    range_id = '233'
    response = Druva_ListQuarantine_Snapshots_Command(client, resource_id, range_id)
    assert response[1]["Druva.quarantinedSnapshots(val.snapshotID == obj.snapshotID)"] == [{
        'name': 'May 4 2020, 15:02',
        'snapshotID': 'TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw',
        'snapshotSize': 'Endpoint',
        'status': 'Quarantined'
    }]
예제 #7
0
def test_Druva_DeleteQuarantineRange_Command(requests_mock):
    from Druva import Client, Druva_DeleteQuarantineRange_Command
    mock_response = {
        'rangeID': '100'
    }
    requests_mock.delete('https://apis.druva.com/realize/ransomwarerecovery/v1/quarantineranges/resource/12345/range/100',
                         json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    resource_id = '12345'
    range_id = '100'

    _, _, response = Druva_DeleteQuarantineRange_Command(client, resource_id, range_id)
    assert response["rangeID"] == '100'
예제 #8
0
def test_Druva_DeleteQuarantined_Snapshots_Command(requests_mock):
    from Druva import Client, Druva_DeleteQuarantined_Snapshots_Command
    mock_response = {
        'snapshotID': 'TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw'
    }
    requests_mock.delete(
        'https://apis.druva.com/realize/ransomwarerecovery/v1/'
        'snapshots/resource/28604/range/233/snapshot/TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw',
        json=mock_response)
    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    resource_id = '28604'
    range_id = '233'
    snapshot_id = 'TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw'
    _, _, response = Druva_DeleteQuarantined_Snapshots_Command(client, resource_id, range_id, snapshot_id)
    assert response['snapshotID'] == 'TW9uIE1heSAgNCAxNTowMjo0MSAyMDIw'
예제 #9
0
def test_Druva_QuarantineResource_Command(requests_mock):
    from Druva import Client, Druva_QuarantineResource_Command
    mock_response = {
        'rangeID': '100'
    }
    requests_mock.post('https://apis.druva.com/realize/ransomwarerecovery/v1/quarantineranges/resource/12345',
                       json=mock_response)

    client = Client(
        base_url='https://apis.druva.com/',
        verify=False,
        headers={
            'Authentication': 'Bearer some_api_key'
        }
    )
    resource_id = '12345'
    resource_type = 'endpoint'
    from_date = '2020-12-01'
    to_date = '2020-12-10'

    response = Druva_QuarantineResource_Command(client, resource_id, resource_type, from_date, to_date)
    assert response[1]["Druva.QuarantinedRangeID"] == '100'