# coding: utf-8 """ Test Results API Get test result metrics for Network and Application Synthetics tests. Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 import json import unittest import thousandeyes_sdk.test_results.models from thousandeyes_sdk.core.exceptions import ApiException from thousandeyes_sdk.test_results.api.dns_trace_test_results_api import DNSTraceTestResultsApi from .integration_test_utils import IntegrationTestBase from .test_utils import assert_constructed_model_matches_example_json class TestDNSTraceTestResultsApiIntegration(IntegrationTestBase): """DNSTraceTestResultsApi integration test stubs""" def setUp(self) -> None: super().setUp() self.api = DNSTraceTestResultsApi(self.api_client) def test_get_test_dns_trace_results_happy_path(self) -> None: """Integration test for get_test_dns_trace_results success path""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' response_body_json = """ { "test" : { "_links" : { "testResults" : [ { "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" }, { "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" } ], "self" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" } }, "liveShare" : false, "savedEvent" : true, "description" : "ThousandEyes Test", "type" : "agent-to-server", "enabled" : true, "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, "testName" : "ThousandEyes Test" }, "endDate" : "2022-07-18T22:00:54Z", "_links" : { "next" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" }, "previous" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" }, "self" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" } }, "results" : [ { "date" : "2022-07-17T22:00:54Z", "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", "location" : "San Francisco Bay Area", "countryId" : "US" }, "_links" : { "appLink" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" } }, "finalServerQueried" : "a1.verisigndns.com.", "finalQueryTime" : 178, "queries" : 3, "failedQueries" : 0, "output" : "com.\\t172800\\tIN\\tNS\\ta.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tf.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tc.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tb.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\td.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\te.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tg.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tm.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\th.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tj.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\ti.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tl.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tk.gtld-servers.net.\\n;; Received 498 bytes from 199.7.91.13(d.root-servers.net.) in 119 ms\\n\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta1.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta2.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta3.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\tu1.verisigndns.com.\\n;; Received 266 bytes from 192.5.6.30(a.gtld-servers.net.) in 178 ms\\n\\napp.thousandeyes.com.\\t300\\tIN\\tCNAME\\tweb.thousandeyes.com.\\nweb.thousandeyes.com.\\t300\\tIN\\tCNAME\\tlb-app.thousandeyes.com.\\nlb-app.thousandeyes.com.\\t3600\\tIN\\tA\\t208.185.7.120\\n;; Received 173 bytes from 209.112.113.33(a1.verisigndns.com.) in 178 ms\\n\\n", "mappings" : "208.185.7.120", "startTime" : 1384309800, "endTime" : 1384309800, "roundId" : 1384309800, "errorDetails" : "Connection error" }, { "date" : "2022-07-17T22:00:54Z", "agent" : { "agentId" : "281474976710706", "agentName" : "thousandeyes-stg-va-254", "location" : "San Francisco Bay Area", "countryId" : "US" }, "_links" : { "appLink" : { "hreflang" : "hreflang", "templated" : true, "profile" : "profile", "name" : "name", "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", "type" : "type", "deprecation" : "deprecation", "title" : "title" } }, "finalServerQueried" : "a1.verisigndns.com.", "finalQueryTime" : 178, "queries" : 3, "failedQueries" : 0, "output" : "com.\\t172800\\tIN\\tNS\\ta.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tf.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tc.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tb.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\td.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\te.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tg.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tm.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\th.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tj.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\ti.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tl.gtld-servers.net.\\ncom.\\t172800\\tIN\\tNS\\tk.gtld-servers.net.\\n;; Received 498 bytes from 199.7.91.13(d.root-servers.net.) in 119 ms\\n\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta1.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta2.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\ta3.verisigndns.com.\\nthousandeyes.com.\\t172800\\tIN\\tNS\\tu1.verisigndns.com.\\n;; Received 266 bytes from 192.5.6.30(a.gtld-servers.net.) in 178 ms\\n\\napp.thousandeyes.com.\\t300\\tIN\\tCNAME\\tweb.thousandeyes.com.\\nweb.thousandeyes.com.\\t300\\tIN\\tCNAME\\tlb-app.thousandeyes.com.\\nlb-app.thousandeyes.com.\\t3600\\tIN\\tA\\t208.185.7.120\\n;; Received 173 bytes from 209.112.113.33(a1.verisigndns.com.) in 178 ms\\n\\n", "mappings" : "208.185.7.120", "startTime" : 1384309800, "endTime" : 1384309800, "roundId" : 1384309800, "errorDetails" : "Connection error" } ], "startDate" : "2022-07-17T22:00:54Z" } """ expected_response = json.loads(response_body_json) response = self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results"), ) assert_constructed_model_matches_example_json(response, expected_response) def test_get_test_dns_trace_results_error_400(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 400)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "errors" : [ { "code" : "code", "field" : "field", "message" : "message" }, { "code" : "code", "field" : "field", "message" : "message" } ], "status" : 0 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(400) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="400"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_401(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 401)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "error_description" : "Invalid access token", "error" : "invalid_token" } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(401) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="401"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_403(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 403)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "status" : 6 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(403) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="403"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_404(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 404)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "status" : 6 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(404) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="404"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_429(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 429)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "status" : 6 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(429) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="429"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_500(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 500)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "status" : 6 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(500) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="500"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) def test_get_test_dns_trace_results_error_502(self) -> None: """Integration test for get_test_dns_trace_results error path (HTTP 502)""" test_id = '202701' aid = '1234' window = '12h' start_date = '2022-07-17T22:00:54Z' end_date = '2022-07-18T22:00:54Z' cursor = 'cursor_example' error_body_json = """ { "instance" : "instance", "detail" : "detail", "type" : "type", "title" : "title", "status" : 6 } """ expected_error = json.loads(error_body_json) with self.assertRaises( ApiException.exception_class_for_http_status(502) ) as context: self.api.get_test_dns_trace_results( test_id=test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, _headers=self.te_headers("get_test_dns_trace_results", error_status="502"), ) assert_constructed_model_matches_example_json(context.exception.data, expected_error) if __name__ == '__main__': unittest.main()