thousandeyes-sdk-python/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api_integration.py
2026-08-03 16:04:35 +00:00

2670 lines
105 KiB
Python

# coding: utf-8
"""
Tests API
**Note:** The Page Load Tests, API Tests, and Web Transaction Tests APIs are not available for ThousandEyes for Government instance. This API allows you to list, create, edit, and delete 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.tests.models
from thousandeyes_sdk.core.exceptions import ApiException
from thousandeyes_sdk.tests.api.agent_to_agent_tests_api import AgentToAgentTestsApi
from .integration_test_utils import IntegrationTestBase
from .test_utils import assert_constructed_model_matches_example_json
class TestAgentToAgentTestsApiIntegration(IntegrationTestBase):
"""AgentToAgentTestsApi integration test stubs"""
def setUp(self) -> None:
super().setUp()
self.api = AgentToAgentTestsApi(self.api_client)
def test_create_agent_to_agent_test_happy_path(self) -> None:
"""Integration test for create_agent_to_agent_test success path"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
response_body_json = """
{
"_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"
}
},
"alertRules" : [ {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
}, {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
} ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
}, {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
} ],
"tags" : [ {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
}, {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
} ],
"agents" : [ {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ {
"name" : "Account name",
"aid" : "1234"
}, {
"name" : "Account name",
"aid" : "1234"
} ],
"monitors" : [ {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
}, {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
} ]
}
"""
expected_response = json.loads(response_body_json)
response = self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test"),
)
assert_constructed_model_matches_example_json(response, expected_response)
def test_create_agent_to_agent_test_error_400(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 400)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
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.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="400"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_401(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 401)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
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.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="401"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_403(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 403)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(403)
) as context:
self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="403"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_404(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 404)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(404)
) as context:
self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="404"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_429(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 429)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(429)
) as context:
self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="429"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_500(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 500)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(500)
) as context:
self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="500"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_create_agent_to_agent_test_error_502(self) -> None:
"""Integration test for create_agent_to_agent_test error path (HTTP 502)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(502)
) as context:
self.api.create_agent_to_agent_test(
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("create_agent_to_agent_test", error_status="502"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_happy_path(self) -> None:
"""Integration test for delete_agent_to_agent_test success path"""
test_id = '202701'
aid = '1234'
response = self.api.delete_agent_to_agent_test_with_http_info(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test"),
)
self.assertEqual(204, response.status_code)
self.assertIsNone(response.data)
def test_delete_agent_to_agent_test_error_401(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 401)"""
test_id = '202701'
aid = '1234'
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.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="401"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_error_403(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 403)"""
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(403)
) as context:
self.api.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="403"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_error_404(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 404)"""
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(404)
) as context:
self.api.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="404"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_error_429(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 429)"""
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(429)
) as context:
self.api.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="429"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_error_500(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 500)"""
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(500)
) as context:
self.api.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="500"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_delete_agent_to_agent_test_error_502(self) -> None:
"""Integration test for delete_agent_to_agent_test error path (HTTP 502)"""
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(502)
) as context:
self.api.delete_agent_to_agent_test(
test_id=test_id,
aid=aid,
_headers=self.te_headers("delete_agent_to_agent_test", error_status="502"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_happy_path(self) -> None:
"""Integration test for get_agent_to_agent_test success path"""
test_id = '202701'
aid = '1234'
version_id = '1234'
response_body_json = """
{
"_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"
}
},
"alertRules" : [ {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
}, {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
} ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
}, {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
} ],
"tags" : [ {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
}, {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
} ],
"agents" : [ {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ {
"name" : "Account name",
"aid" : "1234"
}, {
"name" : "Account name",
"aid" : "1234"
} ],
"monitors" : [ {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
}, {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
} ]
}
"""
expected_response = json.loads(response_body_json)
response = self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test"),
)
assert_constructed_model_matches_example_json(response, expected_response)
def test_get_agent_to_agent_test_error_401(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 401)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
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_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="401"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_error_403(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 403)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(403)
) as context:
self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="403"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_error_404(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 404)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(404)
) as context:
self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="404"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_error_429(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 429)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(429)
) as context:
self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="429"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_error_500(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 500)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(500)
) as context:
self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="500"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_test_error_502(self) -> None:
"""Integration test for get_agent_to_agent_test error path (HTTP 502)"""
test_id = '202701'
aid = '1234'
version_id = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(502)
) as context:
self.api.get_agent_to_agent_test(
test_id=test_id,
aid=aid,
version_id=version_id,
_headers=self.te_headers("get_agent_to_agent_test", error_status="502"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_happy_path(self) -> None:
"""Integration test for get_agent_to_agent_tests success path"""
aid = '1234'
response_body_json = """
{
"tests" : [ {
"_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"
}
},
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706"
}, {
"_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"
}
},
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706"
} ],
"_links" : {
"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"
}
}
}
"""
expected_response = json.loads(response_body_json)
response = self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests"),
)
assert_constructed_model_matches_example_json(response, expected_response)
def test_get_agent_to_agent_tests_error_401(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 401)"""
aid = '1234'
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_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="401"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_error_403(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 403)"""
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(403)
) as context:
self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="403"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_error_404(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 404)"""
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(404)
) as context:
self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="404"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_error_429(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 429)"""
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(429)
) as context:
self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="429"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_error_500(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 500)"""
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(500)
) as context:
self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="500"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_get_agent_to_agent_tests_error_502(self) -> None:
"""Integration test for get_agent_to_agent_tests error path (HTTP 502)"""
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(502)
) as context:
self.api.get_agent_to_agent_tests(
aid=aid,
_headers=self.te_headers("get_agent_to_agent_tests", error_status="502"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_happy_path(self) -> None:
"""Integration test for update_agent_to_agent_test success path"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
response_body_json = """
{
"_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"
}
},
"alertRules" : [ {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
}, {
"severity" : "major",
"expression" : "((hops((hopDelay >= 100 ms))))",
"alertType" : "http-server",
"roundsViolatingMode" : "exact",
"sensitivityLevel" : "medium",
"roundsViolatingOutOf" : 5,
"roundsViolatingRequired" : 2,
"isDefault" : true,
"minimumSourcesPct" : 99,
"ruleName" : "The End of the Internet",
"minimumSources" : 10,
"ruleId" : "127094",
"direction" : "to-target"
} ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
}, {
"labelId" : "961",
"name" : "Artem label",
"isBuiltin" : false
} ],
"tags" : [ {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
}, {
"id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c",
"value" : "San Francisco",
"key" : "Location"
} ],
"agents" : [ {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
}, {
"agentId" : "281474976710706",
"agentType" : "enterprise-cluster",
"prefix" : "99.128.0.0/11",
"coordinates" : {
"latitude" : 37.77493,
"longitude" : -122.41942
},
"agentName" : "thousandeyes-stg-va-254",
"networkProviderInfo" : {
"asn" : 7018,
"name" : "AT&T Services, Inc.",
"type" : "isp"
},
"countryId" : "US",
"enabled" : true,
"network" : "AT&T Services, Inc. (AS 7018)",
"publicIpAddresses" : [ "192.168.1.78", "f9b2:3a21:f25c:d300:03f4:586d:f8d6:4e1c" ],
"ipAddresses" : [ "99.139.65.220", "9bbd:8a0a:a257:5876:288b:6cb2:3f36:64ce" ],
"location" : "San Francisco Bay Area",
"verifySslCertificates" : true
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ {
"name" : "Account name",
"aid" : "1234"
}, {
"name" : "Account name",
"aid" : "1234"
} ],
"monitors" : [ {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
}, {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
} ]
}
"""
expected_response = json.loads(response_body_json)
response = self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test"),
)
assert_constructed_model_matches_example_json(response, expected_response)
def test_update_agent_to_agent_test_error_400(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 400)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
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.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="400"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_401(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 401)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
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.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="401"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_403(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 403)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(403)
) as context:
self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="403"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_404(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 404)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(404)
) as context:
self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="404"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_429(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 429)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(429)
) as context:
self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="429"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_500(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 500)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(500)
) as context:
self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="500"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
def test_update_agent_to_agent_test_error_502(self) -> None:
"""Integration test for update_agent_to_agent_test error path (HTTP 502)"""
request_body_json = """
{
"_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"
}
},
"alertRules" : [ "344753", "212697" ],
"description" : "ThousandEyes Test",
"type" : "agent-to-agent",
"mss" : 100,
"usePublicBgp" : true,
"enabled" : true,
"dscpId" : "0",
"protocol" : "tcp",
"fixedPacketRate" : 50,
"dscp" : "Best Effort (DSCP 0)",
"pathTraceMode" : "classic",
"throughputRate" : 10,
"modifiedBy" : "user@user.com",
"alertsEnabled" : true,
"testName" : "ThousandEyes Test",
"direction" : "to-target",
"throughputMeasurements" : false,
"numPathTraces" : 3,
"bgpMeasurements" : true,
"liveShare" : false,
"savedEvent" : true,
"throughputDuration" : 10000,
"labels" : [ "9842", "1283" ],
"tags" : [ "c6b78e57-81a2-4c5f-a11a-d96c3c664d55", "ec8e64fb-6f11-485c-a5d5-488098ad626a" ],
"agents" : [ {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
}, {
"agentId" : "125",
"sourceIpAddress" : "1.1.1.1"
} ],
"createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com",
"port" : 49153,
"randomizedStartTime" : false,
"modifiedDate" : "2022-07-17T22:00:54Z",
"targetAgentId" : "2954",
"interval" : 60,
"testId" : "281474976710706",
"sharedWithAccounts" : [ "1234", "12345" ],
"monitors" : [ "17410", "5" ]
}
"""
agent_to_agent_test_request = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json)
test_id = '202701'
aid = '1234'
error_body_json = """
{
"instance" : "instance",
"detail" : "detail",
"type" : "type",
"title" : "title",
"status" : 0
}
"""
expected_error = json.loads(error_body_json)
with self.assertRaises(
ApiException.exception_class_for_http_status(502)
) as context:
self.api.update_agent_to_agent_test(
test_id=test_id,
agent_to_agent_test_request=agent_to_agent_test_request,
aid=aid,
_headers=self.te_headers("update_agent_to_agent_test", error_status="502"),
)
assert_constructed_model_matches_example_json(context.exception.data, expected_error)
if __name__ == '__main__':
unittest.main()