def test_delete_script_failure_insufficient_permissions(requests_mock, mocker): from CrowdStrikeFalcon import delete_script_command script_id = 'le10098bf0e311e989190662caec3daa_94cc8c55556741faa1d82bd1faabfb4a' response = { "meta": { "query_time": 0.001585675, "powered_by": "crowdstrike-api-gateway", "trace_id": "01fcdbc6-6319-42e4-8ab1-b3edca76aa2c" }, "errors": [{ "code": 403, "message": "access denied, authorization failed" }] } mocker.patch.object(demisto, 'args', return_value={'script_id': script_id}) requests_mock.delete( f'{SERVER_URL}/real-time-response/entities/scripts/v1?ids={script_id}', json=response, status_code=403, reason='Forbidden') return_error_mock = mocker.patch(RETURN_ERROR_TARGET) delete_script_command() assert return_error_mock.call_count == 1 err_msg = return_error_mock.call_args[0][0] assert err_msg == 'Error in API call to CrowdStrike Falcon: code: 403 - ' \ 'reason: Forbidden\naccess denied, authorization failed'
def test_delete_script_failure_not_found(requests_mock, mocker): from CrowdStrikeFalcon import delete_script_command script_id = 'le10098bf0e311e989190662caec3daa_94cc8c55556741faa1d82bd1faabfb4a' response = { "meta": { "query_time": 0.001585675, "powered_by": "empower", "trace_id": "01fcdbc6-6319-42e4-8ab1-b3edca76aa2c" }, "errors": [{ "code": 404, "message": "Could not find file for deletion" }] } mocker.patch.object(demisto, 'args', return_value={'script_id': script_id}) requests_mock.delete( f'{SERVER_URL}/real-time-response/entities/scripts/v1?ids={script_id}', json=response, status_code=404, reason='Not Found') return_error_mock = mocker.patch(RETURN_ERROR_TARGET) delete_script_command() assert return_error_mock.call_count == 1 err_msg = return_error_mock.call_args[0][0] assert err_msg == 'Error in API call to CrowdStrike Falcon: code: 404 - ' \ 'reason: Not Found\nCould not find file for deletion'
def test_delete_script(requests_mock, mocker): from CrowdStrikeFalcon import delete_script_command script_id = 'le10098bf0e311e989190662caec3daa_94cc8c55556741faa1d82bd1faabfb4a' response = { "meta": { "query_time": 0.535416674, "writes": { "resources_affected": 1 }, "powered_by": "empower", "trace_id": "b48fc444-8e80-48bf-akbf-281fb9471e5g" } } mocker.patch.object(demisto, 'args', return_value={'script_id': script_id}) requests_mock.delete( f'{SERVER_URL}/real-time-response/entities/scripts/v1?ids={script_id}', json=response, status_code=200) assert delete_script_command( )['HumanReadable'] == f'Script {script_id} was deleted successfully'