Esempio n. 1
0
 def test_get_details_posts_to_expected_url(
     self, mock_connection, user_context, successful_post, py42_response
 ):
     py42_response.text = TEST_PARSEABLE_ALERT_DETAIL_RESPONSE
     mock_connection.post.return_value = py42_response
     alert_service = AlertService(mock_connection, user_context)
     alert_ids = ["ALERT_ID_1", "ALERT_ID_2"]
     alert_service.get_details(alert_ids)
     assert mock_connection.post.call_args[0][0] == "/svc/api/v1/query-details"
Esempio n. 2
0
 def test_get_details_when_given_single_alert_id_posts_expected_data(
         self, mock_connection, user_context, successful_post,
         py42_response, alert_id):
     py42_response.text = TEST_PARSEABLE_ALERT_DETAIL_RESPONSE
     mock_connection.post.return_value = py42_response
     alert_service = AlertService(mock_connection, user_context)
     alert_service.get_details(alert_id)
     post_data = mock_connection.post.call_args[1]["json"]
     assert (post_data["tenantId"] == TENANT_ID_FROM_RESPONSE
             and post_data["alertIds"][0] == "ALERT_ID_1")
Esempio n. 3
0
 def test_get_details_when_given_tenant_id_posts_expected_data(
         self, mock_connection, user_context, successful_post, mocker):
     response = create_mock_response(mocker,
                                     TEST_PARSEABLE_ALERT_DETAIL_RESPONSE)
     mock_connection.post.return_value = response
     alert_service = AlertService(mock_connection, user_context)
     alert_ids = ["ALERT_ID_1", "ALERT_ID_2"]
     alert_service.get_details(alert_ids)
     post_data = mock_connection.post.call_args[1]["json"]
     assert (post_data["tenantId"] == TENANT_ID_FROM_RESPONSE
             and post_data["alertIds"][0] == "ALERT_ID_1"
             and post_data["alertIds"][1] == "ALERT_ID_2")
Esempio n. 4
0
 def test_get_details_when_observation_data_not_parseable_remains_unchanged(
         self, mocker, mock_connection, user_context):
     requests_response = mocker.MagicMock(spec=Response)
     requests_response.text = TEST_NON_PARSEABLE_ALERT_DETAIL_RESPONSE
     py42_response = Py42Response(requests_response)
     mock_connection.post.return_value = py42_response
     alert_service = AlertService(mock_connection, user_context)
     response = alert_service.get_details("alert_id")
     observation_data = response["alerts"][0]["observations"][0]["data"]
     expected_observation_data = '{"invalid_json": ][ }'
     assert observation_data == expected_observation_data
Esempio n. 5
0
 def test_get_details_converts_json_observation_strings_to_objects(
         self, mocker, mock_connection, user_context):
     requests_response = mocker.MagicMock(spec=Response)
     requests_response.text = TEST_PARSEABLE_ALERT_DETAIL_RESPONSE
     py42_response = Py42Response(requests_response)
     mock_connection.post.return_value = py42_response
     alert_service = AlertService(mock_connection, user_context)
     response = alert_service.get_details("alert_id")
     observation_data = response["alerts"][0]["observations"][0]["data"]
     assert observation_data["example_key"] == "example_string_value"
     assert type(observation_data["example_list"]) is list