コード例 #1
0
def test_download_message_positive(mocker, request, requests_mock, client):
    """
    Given:
        - GUID of existing message to download
    When:
        - Running download message commandd
    Then:
        - Ensure file name
        - Ensure file content
    """
    mocker.patch.object(demisto, 'uniqueFile', return_value="test_file_result")
    mocker.patch.object(demisto, 'investigation', return_value={'id': '1'})
    file_name = "1_test_file_result"

    def cleanup():
        try:
            os.remove(file_name)
        except OSError:
            pass

    request.addfinalizer(cleanup)

    guid = 'guid'
    args = {'guid': guid}
    api_response = open('./test_data/download_message_response').read().encode(
        'utf8')
    requests_mock.get(SERVER_URL + '/quarantine?' + urlencode(args),
                      content=api_response)
    result = download_message(client=client, args=args)
    assert result['File'] == guid + '.eml'
    with open(file_name, 'rb') as f:
        assert f.read() == api_response
コード例 #2
0
def test_download_message_negative(requests_mock, client):
    """
    Given:
        - GUID of non-existing message to download
    When:
        - Running download message command
    Then:
        - Ensure command readable outputs
    """
    args = {'guid': 'guid'}
    requests_mock.get(SERVER_URL + '/quarantine?' + urlencode(args),
                      status_code=404)
    result = download_message(client=client, args=args)
    assert result.readable_output == 'No message found.'