| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  | import boto3 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | import pytest | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  | from moto import mock_support | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_describe_trusted_advisor_checks_returns_amount_of_checks(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test that trusted advisor returns 104 checks.""" | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |     response = client.describe_trusted_advisor_checks(language="en") | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert len(response["checks"]) == 104 | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_describe_trusted_advisor_checks_returns_an_expected_id(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test that a random check id is returned.""" | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |     response = client.describe_trusted_advisor_checks(language="en") | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  |     check_ids = [] | 
					
						
							|  |  |  |     for check in response["checks"]: | 
					
						
							|  |  |  |         check_ids.append(check["id"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert "zXCkfM1nI3" in check_ids | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_describe_trusted_advisor_checks_returns_an_expected_check_name(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test that a random check name is returned.""" | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |     response = client.describe_trusted_advisor_checks(language="en") | 
					
						
							| 
									
										
										
										
											2021-02-14 12:22:16 +00:00
										 |  |  |     check_names = [] | 
					
						
							|  |  |  |     for check in response["checks"]: | 
					
						
							|  |  |  |         check_names.append(check["name"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert "Unassociated Elastic IP Addresses" in check_names | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_refresh_trusted_advisor_check_returns_expected_check(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test refresh of a trusted advisor check returns check id in response.""" | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							|  |  |  |     check_name = "XXXIIIY" | 
					
						
							|  |  |  |     response = client.refresh_trusted_advisor_check(checkId=check_name) | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert response["status"]["checkId"] == check_name | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_refresh_trusted_advisor_check_returns_an_expected_status(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test refresh of a trusted advisor check returns an expected status.""" | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     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) | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     actual_status = response["status"]["status"] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_status in possible_statuses | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     "possible_statuses", | 
					
						
							|  |  |  |     [ | 
					
						
							|  |  |  |         ["none", "enqueued", "processing"], | 
					
						
							|  |  |  |         ["none", "enqueued", "processing", "success", "abandoned"], | 
					
						
							|  |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | @mock_support | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | def test_refresh_trusted_advisor_check_cycles_to_new_status_on_each_call( | 
					
						
							|  |  |  |     possible_statuses, | 
					
						
							|  |  |  | ): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test when check is called 3 times, 3 expected statuses are returned.""" | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							|  |  |  |     check_name = "XXXIIIY" | 
					
						
							|  |  |  |     actual_statuses = [] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  |     for _ in possible_statuses: | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |         response = client.refresh_trusted_advisor_check(checkId=check_name) | 
					
						
							|  |  |  |         actual_statuses.append(response["status"]["status"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_statuses == possible_statuses | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_refresh_trusted_advisor_check_cycles_to_new_status_on_with_two_checks(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test next expected status is returned when additional checks are made.""" | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							|  |  |  |     check_1_name = "XXXIIIY" | 
					
						
							|  |  |  |     check_2_name = "XXXIIIZ" | 
					
						
							|  |  |  |     check_1_statuses = [] | 
					
						
							|  |  |  |     check_2_statuses = [] | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     possible_statuses = [ | 
					
						
							|  |  |  |         "none", | 
					
						
							|  |  |  |         "enqueued", | 
					
						
							|  |  |  |         "processing", | 
					
						
							|  |  |  |         "success", | 
					
						
							|  |  |  |         "abandoned", | 
					
						
							|  |  |  |     ] | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  |     for _ in possible_statuses: | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |         response = client.refresh_trusted_advisor_check(checkId=check_1_name) | 
					
						
							|  |  |  |         check_1_statuses.append(response["status"]["status"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  |     for _ in possible_statuses: | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |         response = client.refresh_trusted_advisor_check(checkId=check_2_name) | 
					
						
							|  |  |  |         check_2_statuses.append(response["status"]["status"]) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert ( | 
					
						
							|  |  |  |         check_1_statuses == possible_statuses and check_2_statuses == possible_statuses | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_refresh_trusted_advisor_check_cycle_continues_on_full_cycle(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test that after cycling through all statuses, check continues cycle.""" | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							|  |  |  |     check_name = "XXXIIIY" | 
					
						
							|  |  |  |     possible_statuses = [ | 
					
						
							|  |  |  |         "none", | 
					
						
							|  |  |  |         "enqueued", | 
					
						
							|  |  |  |         "processing", | 
					
						
							|  |  |  |         "success", | 
					
						
							|  |  |  |         "abandoned", | 
					
						
							|  |  |  |     ] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-18 19:44:29 +00:00
										 |  |  |     for _ in possible_statuses: | 
					
						
							| 
									
										
										
										
											2021-02-18 19:32:06 +00:00
										 |  |  |         client.refresh_trusted_advisor_check(checkId=check_name) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expected_none_response = client.refresh_trusted_advisor_check(checkId=check_name) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert expected_none_response["status"]["status"] == "none" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_case_is_closed(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test that on closing a case, the correct response is returned.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert set(expected_initial_case).issubset(possible_case_status) is True | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert expected_final_case == "resolved" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_case_created(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation response contains case ID.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         language="test_language", | 
					
						
							|  |  |  |         issueType="test_issue_type", | 
					
						
							|  |  |  |         attachmentSetId="test_attachment_set_id", | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert len(create_case_response["caseId"]) == 38 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     "key,value", | 
					
						
							|  |  |  |     [ | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ("subject", "test_subject"), | 
					
						
							|  |  |  |         ("serviceCode", "test_service_code"), | 
					
						
							|  |  |  |         ("severityCode", "normal"), | 
					
						
							|  |  |  |         ("categoryCode", "test_category_code"), | 
					
						
							|  |  |  |         ("language", "test_language"), | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described(key, value): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation can be described.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id == value | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     "key,value", | 
					
						
							|  |  |  |     [ | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ("subject", "test_subject"), | 
					
						
							|  |  |  |         ("serviceCode", "test_service_code"), | 
					
						
							|  |  |  |         ("severityCode", "normal"), | 
					
						
							|  |  |  |         ("categoryCode", "test_category_code"), | 
					
						
							|  |  |  |         ("language", "test_language"), | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_without_next_token(key, value): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation can be described without next token.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id == value | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     "key,value", | 
					
						
							|  |  |  |     [ | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ("subject", "test_subject"), | 
					
						
							|  |  |  |         ("serviceCode", "test_service_code"), | 
					
						
							|  |  |  |         ("severityCode", "normal"), | 
					
						
							|  |  |  |         ("categoryCode", "test_category_code"), | 
					
						
							|  |  |  |         ("language", "test_language"), | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_without_max_results(key, value): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation can be described without max_results.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id == value | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @pytest.mark.parametrize( | 
					
						
							|  |  |  |     "key,value", | 
					
						
							|  |  |  |     [ | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ("subject", "test_subject"), | 
					
						
							|  |  |  |         ("serviceCode", "test_service_code"), | 
					
						
							|  |  |  |         ("severityCode", "normal"), | 
					
						
							|  |  |  |         ("categoryCode", "test_category_code"), | 
					
						
							|  |  |  |         ("language", "test_language"), | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     ], | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_without_max_results_or_next_token( | 
					
						
							|  |  |  |     key, value | 
					
						
							|  |  |  | ): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation can be described without next token.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id == value | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-31 13:18:46 +01:00
										 |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_without_params(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation without params can be described.""" | 
					
						
							| 
									
										
										
										
											2021-03-31 13:18:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     client = boto3.client("support", "us-east-1") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe_cases_response = client.describe_cases() | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert describe_cases_response["cases"] == [] | 
					
						
							| 
									
										
										
										
											2021-03-31 13:18:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     client.create_case( | 
					
						
							|  |  |  |         subject="test_subject", | 
					
						
							|  |  |  |         serviceCode="test_service_code", | 
					
						
							|  |  |  |         severityCode="low", | 
					
						
							|  |  |  |         categoryCode="test_category_code", | 
					
						
							|  |  |  |         communicationBody="test_communication_body", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-31 13:18:46 +01:00
										 |  |  |         language="test_language", | 
					
						
							|  |  |  |         issueType="test_issue_type", | 
					
						
							|  |  |  |         attachmentSetId="test_attachment_set_id", | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     describe_cases_response = client.describe_cases() | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert len(describe_cases_response["cases"]) == 1 | 
					
						
							| 
									
										
										
										
											2021-03-31 13:18:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_cc_email_correct(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test a support request can be described with correct cc email.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id == "test_email_cc" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_case_include_resolved_defaults_to_false(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request description doesn't include resolved cases.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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"] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert case_id_list not in actual | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_case_include_communications_defaults_to_true(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request description includes communications cases.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert "recentCommunications" in actual | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_multiple_support_created_cases_can_be_described(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test creation of multiple support requests descriptions.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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"] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual_case_id_1 == case_id_list[0] | 
					
						
							|  |  |  |     assert actual_case_id_2 == case_id_list[1] | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_and_contains_communications_when_set_to_true(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request description when includeResolvedCases=True.
 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     The suport request description should includes comms. | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert "recentCommunications" in actual_recent_comm | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_and_does_not_contain_communications_when_false(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation when includeCommunications=False.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert "recentCommunications" not in actual_recent_comm | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_and_contains_resolved_cases_when_true(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation when includeResolvedCases=true.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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"] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual == case_id_list | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_and_does_not_contain_resolved_cases_when_false(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request when includeResolvedCases=false.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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"] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert case_id_list not in actual | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @mock_support | 
					
						
							|  |  |  | def test_support_created_case_can_be_described_and_can_cycle_case_severities(): | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     """Test support request creation cycles case severities.""" | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |     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", | 
					
						
							| 
									
										
										
										
											2022-03-10 13:39:59 -01:00
										 |  |  |         ccEmailAddresses=["test_email_cc"], | 
					
						
							| 
									
										
										
										
											2021-03-17 14:01:41 +00:00
										 |  |  |         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"] | 
					
						
							| 
									
										
										
										
											2023-08-10 14:09:07 -04:00
										 |  |  |     assert actual == "urgent" |