779 lines
24 KiB
Python
779 lines
24 KiB
Python
import boto3
|
|
import pytest
|
|
import sure # noqa # pylint: disable=unused-import
|
|
from moto import mock_support
|
|
|
|
|
|
@mock_support
|
|
def test_describe_trusted_advisor_checks_returns_amount_of_checks():
|
|
"""
|
|
test that the 104 checks that are listed under trusted advisor currently
|
|
are returned
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
response = client.describe_trusted_advisor_checks(language="en")
|
|
|
|
response["checks"].should.be.length_of(104)
|
|
|
|
|
|
@mock_support
|
|
def test_describe_trusted_advisor_checks_returns_an_expected_id():
|
|
"""
|
|
test that a random check id is returned
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
response = client.describe_trusted_advisor_checks(language="en")
|
|
check_ids = []
|
|
for check in response["checks"]:
|
|
check_ids.append(check["id"])
|
|
|
|
check_ids.should.contain("zXCkfM1nI3")
|
|
|
|
|
|
@mock_support
|
|
def test_describe_trusted_advisor_checks_returns_an_expected_check_name():
|
|
"""
|
|
test that a random check name is returned
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
response = client.describe_trusted_advisor_checks(language="en")
|
|
check_names = []
|
|
for check in response["checks"]:
|
|
check_names.append(check["name"])
|
|
|
|
check_names.should.contain("Unassociated Elastic IP Addresses")
|
|
|
|
|
|
@mock_support
|
|
def test_refresh_trusted_advisor_check_returns_expected_check():
|
|
"""
|
|
A refresh of a trusted advisor check returns the check id
|
|
in the response
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
check_name = "XXXIIIY"
|
|
response = client.refresh_trusted_advisor_check(checkId=check_name)
|
|
response["status"]["checkId"].should.equal(check_name)
|
|
|
|
|
|
@mock_support
|
|
def test_refresh_trusted_advisor_check_returns_an_expected_status():
|
|
"""
|
|
A refresh of a trusted advisor check returns an expected status
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
possible_statuses = ["none", "enqueued", "processing", "success", "abandoned"]
|
|
check_name = "XXXIIIY"
|
|
response = client.refresh_trusted_advisor_check(checkId=check_name)
|
|
actual_status = response["status"]["status"]
|
|
possible_statuses.should.contain(actual_status)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"possible_statuses",
|
|
[
|
|
["none", "enqueued", "processing"],
|
|
["none", "enqueued", "processing", "success", "abandoned"],
|
|
],
|
|
)
|
|
@mock_support
|
|
def test_refresh_trusted_advisor_check_cycles_to_new_status_on_each_call(
|
|
possible_statuses,
|
|
):
|
|
"""
|
|
Called only three times, only three expected statuses are returned
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
check_name = "XXXIIIY"
|
|
actual_statuses = []
|
|
|
|
for _ in possible_statuses:
|
|
response = client.refresh_trusted_advisor_check(checkId=check_name)
|
|
actual_statuses.append(response["status"]["status"])
|
|
|
|
actual_statuses.should.equal(possible_statuses)
|
|
|
|
|
|
@mock_support
|
|
def test_refresh_trusted_advisor_check_cycles_to_new_status_on_with_two_checks():
|
|
"""
|
|
On each call, the next expected status is returned when additional checks are made
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
check_1_name = "XXXIIIY"
|
|
check_2_name = "XXXIIIZ"
|
|
check_1_statuses = []
|
|
check_2_statuses = []
|
|
possible_statuses = [
|
|
"none",
|
|
"enqueued",
|
|
"processing",
|
|
"success",
|
|
"abandoned",
|
|
]
|
|
|
|
for _ in possible_statuses:
|
|
response = client.refresh_trusted_advisor_check(checkId=check_1_name)
|
|
check_1_statuses.append(response["status"]["status"])
|
|
|
|
for _ in possible_statuses:
|
|
response = client.refresh_trusted_advisor_check(checkId=check_2_name)
|
|
check_2_statuses.append(response["status"]["status"])
|
|
|
|
check_1_statuses.should.equal(possible_statuses) and check_2_statuses.should.equal(
|
|
possible_statuses
|
|
)
|
|
|
|
|
|
@mock_support
|
|
def test_refresh_trusted_advisor_check_cycle_continues_on_full_cycle():
|
|
"""
|
|
After cycling through all statuses, the check continues the cycle
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
check_name = "XXXIIIY"
|
|
possible_statuses = [
|
|
"none",
|
|
"enqueued",
|
|
"processing",
|
|
"success",
|
|
"abandoned",
|
|
]
|
|
|
|
for _ in possible_statuses:
|
|
client.refresh_trusted_advisor_check(checkId=check_name)
|
|
|
|
expected_none_response = client.refresh_trusted_advisor_check(checkId=check_name)
|
|
|
|
expected_none_response["status"]["status"].should.equal("none")
|
|
|
|
|
|
@mock_support
|
|
def test_support_case_is_closed():
|
|
"""
|
|
On closing a case, the correct resolved response is returned
|
|
"""
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
case_id = create_case_response["caseId"]
|
|
|
|
resolve_case_response = client.resolve_case(caseId=case_id)
|
|
|
|
possible_case_status = [
|
|
"opened",
|
|
"pending-customer-action",
|
|
"reopened",
|
|
"unassigned",
|
|
"resolved",
|
|
"work-in-progress",
|
|
]
|
|
expected_initial_case = [resolve_case_response["initialCaseStatus"]]
|
|
expected_final_case = "resolved"
|
|
|
|
set(expected_initial_case).issubset(possible_case_status).should.be.true
|
|
|
|
expected_final_case.should.equal("resolved")
|
|
|
|
|
|
@mock_support
|
|
def test_support_case_created():
|
|
"""
|
|
On creating a support request its response contains a case ID
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
len(create_case_response["caseId"]).should.equal(38)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"key,value",
|
|
[
|
|
("subject", "test_subject"),
|
|
("serviceCode", "test_service_code"),
|
|
("severityCode", "normal"),
|
|
("categoryCode", "test_category_code"),
|
|
("language", "test_language"),
|
|
],
|
|
)
|
|
@mock_support
|
|
def test_support_created_case_can_be_described(key, value):
|
|
"""
|
|
On creating a support request it can be described
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_case_id = describe_cases_response["cases"][0][key]
|
|
|
|
actual_case_id.should.equal(value)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"key,value",
|
|
[
|
|
("subject", "test_subject"),
|
|
("serviceCode", "test_service_code"),
|
|
("severityCode", "normal"),
|
|
("categoryCode", "test_category_code"),
|
|
("language", "test_language"),
|
|
],
|
|
)
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_without_next_token(key, value):
|
|
"""
|
|
On creating a support request it can be described without next token
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
maxResults=137,
|
|
)
|
|
|
|
actual_case_id = describe_cases_response["cases"][0][key]
|
|
|
|
actual_case_id.should.equal(value)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"key,value",
|
|
[
|
|
("subject", "test_subject"),
|
|
("serviceCode", "test_service_code"),
|
|
("severityCode", "normal"),
|
|
("categoryCode", "test_category_code"),
|
|
("language", "test_language"),
|
|
],
|
|
)
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_without_max_results(key, value):
|
|
"""
|
|
On creating a support request it can be described without max_results
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
language="test_lanauage",
|
|
nextToken="test_next_token",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_case_id = describe_cases_response["cases"][0][key]
|
|
|
|
actual_case_id.should.equal(value)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"key,value",
|
|
[
|
|
("subject", "test_subject"),
|
|
("serviceCode", "test_service_code"),
|
|
("severityCode", "normal"),
|
|
("categoryCode", "test_category_code"),
|
|
("language", "test_language"),
|
|
],
|
|
)
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_without_max_results_or_next_token(
|
|
key, value
|
|
):
|
|
"""
|
|
On creating a support request it can be described without max_results
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_case_id = describe_cases_response["cases"][0][key]
|
|
|
|
actual_case_id.should.equal(value)
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_without_params():
|
|
"""
|
|
On creating a support request it can be described
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
|
|
describe_cases_response = client.describe_cases()
|
|
describe_cases_response["cases"].should.equal([])
|
|
|
|
client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
describe_cases_response = client.describe_cases()
|
|
describe_cases_response["cases"].should.have.length_of(1)
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_cc_email_correct():
|
|
"""
|
|
On creating a support request it can be described with
|
|
the correct cc email
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_case_id = describe_cases_response["cases"][0]["ccEmailAddresses"][0]
|
|
|
|
actual_case_id.should.equal("test_email_cc")
|
|
|
|
|
|
@mock_support
|
|
def test_support_case_include_resolved_defaults_to_false():
|
|
"""
|
|
On creating a support request it can be described and it
|
|
defaults to not include resolved cases
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
|
|
for _ in range(3):
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
actual = describe_cases_response["cases"]
|
|
|
|
actual.should_not.contain(case_id_list)
|
|
|
|
|
|
@mock_support
|
|
def test_support_case_include_communications_defaults_to_true():
|
|
"""
|
|
On creating a support request it can be described and it
|
|
defaults to include communcations cases
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
)
|
|
|
|
actual = describe_cases_response["cases"][0]
|
|
|
|
actual.should.contain("recentCommunications")
|
|
|
|
|
|
@mock_support
|
|
def test_multiple_support_created_cases_can_be_described():
|
|
"""
|
|
On creating multiple support requests they can be described
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response_1 = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
create_case_response_2 = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = [create_case_response_1["caseId"], create_case_response_2["caseId"]]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=case_id_list,
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_case_id_1 = describe_cases_response["cases"][0]["caseId"]
|
|
actual_case_id_2 = describe_cases_response["cases"][1]["caseId"]
|
|
|
|
actual_case_id_1.should.equal(case_id_list[0])
|
|
actual_case_id_2.should.equal(case_id_list[1])
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_and_contains_communications_when_set_to_true():
|
|
"""
|
|
On creating a support request it can be described and contains comms
|
|
when includeResolvedCases=True
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual_recent_comm = describe_cases_response["cases"][0]
|
|
actual_recent_comm.should.contain("recentCommunications")
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_and_does_not_contain_communications_when_false():
|
|
"""
|
|
On creating a support request it does not include
|
|
comms when includeCommunications=False
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=False,
|
|
)
|
|
|
|
actual_recent_comm = describe_cases_response["cases"][0]
|
|
|
|
actual_recent_comm.should_not.contain("recentCommunications")
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_and_contains_resolved_cases_when_true():
|
|
"""
|
|
On creating a support request it does contain resolved cases when
|
|
includeResolvedCases=true
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
|
|
for _ in range(4):
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual = describe_cases_response["cases"][0]["caseId"]
|
|
|
|
actual.should.equal(case_id_list)
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_and_does_not_contain_resolved_cases_when_false():
|
|
"""
|
|
On creating a support request it does not contain resolved cases when
|
|
includeResolvedCases=false
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
|
|
for _ in range(4):
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=False,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual = describe_cases_response["cases"]
|
|
actual.should_not.contain(case_id_list)
|
|
|
|
|
|
@mock_support
|
|
def test_support_created_case_can_be_described_and_can_cycle_case_severities():
|
|
"""
|
|
On creating a support request it can be described and cycles case severities
|
|
"""
|
|
|
|
client = boto3.client("support", "us-east-1")
|
|
create_case_response = client.create_case(
|
|
subject="test_subject",
|
|
serviceCode="test_service_code",
|
|
severityCode="low",
|
|
categoryCode="test_category_code",
|
|
communicationBody="test_communication_body",
|
|
ccEmailAddresses=["test_email_cc"],
|
|
language="test_language",
|
|
issueType="test_issue_type",
|
|
attachmentSetId="test_attachment_set_id",
|
|
)
|
|
|
|
case_id_list = create_case_response["caseId"]
|
|
|
|
for _ in range(3):
|
|
describe_cases_response = client.describe_cases(
|
|
caseIdList=[case_id_list],
|
|
displayId="test_display_id",
|
|
afterTime="test_after_time",
|
|
beforeTime="test_before_time",
|
|
includeResolvedCases=True,
|
|
nextToken="test_next_token",
|
|
maxResults=137,
|
|
language="test_lanauage",
|
|
includeCommunications=True,
|
|
)
|
|
|
|
actual = describe_cases_response["cases"][0]["severityCode"]
|
|
|
|
actual.should.equal("urgent")
|