def test_gra_fetch_users(requests_mock): """Unit test Given - fetch gra users - command args page , max - command raw response When - mock the Client's send_request. Then - run the gra fetch users command using the Client Validate the output with mock response Validate the output prefix Validate key field """ from GuruculGRA import Client, fetch_record_command mock_response = util_load_json('test_data/gra-fetch-users.json') requests_mock.get('https://test.com/api/users', json=mock_response) api_url = '/users' params = {'page': 1, 'max': 10} client = Client( base_url='https://test.com/api', verify=False, headers={ 'Authentication': 'Bearer some_api_key' } ) response = fetch_record_command(client, api_url, 'Gra.Users', 'employeeId', params) assert response.outputs == mock_response assert response.outputs_prefix == 'Gra.Users' assert response.outputs_key_field == 'employeeId'
def test_gra_fetch_resource_orphan_accounts(requests_mock): """Unit test Given - fetch orphan accounts for resource - command args page, max, resource - command raw response When - mock the Client's send_request. Then - run the gra fetch users command using the Client Validate the output with mock response Validate the output prefix Validate key field """ from GuruculGRA import Client, fetch_record_command mock_response = util_load_json('test_data/gra-fetch-resource-orphan-accounts.json') requests_mock.get('https://test.com/api/resources/Linux/accounts/orphan', json=mock_response) api_url = '/resources/Linux/accounts/orphan' params = {'page': 1, 'max': 10} client = Client( base_url='https://test.com/api', verify=False, headers={ 'Authentication': 'Bearer some_api_key' } ) response = fetch_record_command(client, api_url, 'Gra.Resource.Orphan.Accounts', 'id', params) assert response.outputs == mock_response assert response.outputs_prefix == 'Gra.Resource.Orphan.Accounts' assert response.outputs_key_field == 'id'
def test_gra_analytical_features_entity_value(requests_mock): """Unit test Given - gra analytical features entity value - command args page, max - command raw response When - mock the Client's send_request. Then - run the gra investigate anomaly summary command using the Client Validate the output with mock response Validate the output prefix Validate key field """ from GuruculGRA import Client, fetch_record_command mock_response = util_load_json( 'test_data/gra-analytical-features-entity-value.json') requests_mock.get( 'https://test.com/api/profile/analyticalFeatures/entityValue', json=mock_response) investigateAnomaly_url = '/profile/analyticalFeatures/entityValue' client = Client(base_url='https://test.com/api', verify=False, headers={'Authentication': 'Bearer some_api_key'}) response = fetch_record_command(client, investigateAnomaly_url, 'Gra.Analytical.Features.Entity.Value', 'entityID', None) mock_response_array = [] mock_response_array.append(mock_response) assert response.outputs == mock_response_array assert response.outputs_prefix == 'Gra.Analytical.Features.Entity.Value' assert response.outputs_key_field == 'entityID'
def test_gra_investigate_anomaly_summary(requests_mock): """Unit test Given - gra investigate anomaly summary - command args page, max - command raw response When - mock the Client's send_request. Then - run the gra investigate anomaly summary command using the Client Validate the output with mock response Validate the output prefix Validate key field """ from GuruculGRA import Client, fetch_record_command mock_response = util_load_json( 'test_data/gra-investigate-anomaly-summary.json') requests_mock.get( 'https://test.com/api/investigateAnomaly/anomalySummary/ModelName', json=mock_response) investigateAnomaly_url = '/investigateAnomaly/anomalySummary/ModelName' client = Client(base_url='https://test.com/api', verify=False, headers={'Authentication': 'Bearer some_api_key'}) response = fetch_record_command(client, investigateAnomaly_url, 'Gra.Investigate.Anomaly.Summary', 'modelId', None) mock_response_array = [] mock_response_array.append(mock_response) assert response.outputs == mock_response_array assert response.outputs_prefix == 'Gra.Investigate.Anomaly.Summary' assert response.outputs_key_field == 'modelId'
def test_gra_case_action_anomaly(requests_mock): """Unit test Given - gra case action - command args page, max - command raw response When - mock the Client's send_request. Then - run the gra case action anomaly command using the Client Validate the output with mock response Validate the output prefix Validate key field """ from GuruculGRA import Client, fetch_record_command mock_response = util_load_json('test_data/gra-case-action-anomaly.json') requests_mock.get('https://test.com/api/cases/closeCaseAnomaly', json=mock_response) cases_url = '/cases/closeCaseAnomaly' params = {'page': 1, 'max': 10} client = Client(base_url='https://test.com/api', verify=False, headers={'Authentication': 'Bearer some_api_key'}) response = fetch_record_command(client, cases_url, 'Gra.Cases.Action.Anomaly', 'caseId', params) assert response.outputs == mock_response assert response.outputs_prefix == 'Gra.Cases.Action.Anomaly' assert response.outputs_key_field == 'caseId'
def test_module(mocker): """ Given - Gurucul GRA test application When - mock the demisto params. - mock the Client's generate_token Then - run the test_module command using the Client Validate The response is ok. """ from GuruculGRA import Client, test_module_command client = Client(base_url='https://test.com/api', verify=False, headers={'Authentication': 'Bearer some_api_key'}) mocker.patch.object(client, 'validate_api_key') result = test_module_command(client) assert result == 'ok'