blob: 6b2b65d2f3cbc801fd075183652c5d01f2494fc0 [file] [log] [blame]
# Copyright (c) 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish, dis-
# tribute, sublicense, and/or sell copies of the Software, and to permit
# persons to whom the Software is furnished to do so, subject to the fol-
# lowing conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
#
import unittest
import time
from boto.support.layer1 import SupportConnection
from boto.support import exceptions
class TestSupportLayer1Management(unittest.TestCase):
support = True
def setUp(self):
self.api = SupportConnection()
self.wait_time = 5
def test_as_much_as_possible_before_teardown(self):
cases = self.api.describe_cases()
preexisting_count = len(cases.get('cases', []))
services = self.api.describe_services()
self.assertTrue('services' in services)
service_codes = [serv['code'] for serv in services['services']]
self.assertTrue('amazon-cloudsearch' in service_codes)
severity = self.api.describe_severity_levels()
self.assertTrue('severityLevels' in severity)
severity_codes = [sev['code'] for sev in severity['severityLevels']]
self.assertTrue('low' in severity_codes)
case_1 = self.api.create_case(
subject='TEST: I am a test case.',
service_code='amazon-cloudsearch',
category_code='other',
communication_body="This is a test problem",
severity_code='low',
language='en'
)
time.sleep(self.wait_time)
case_id = case_1['caseId']
new_cases = self.api.describe_cases()
self.assertTrue(len(new_cases['cases']) > preexisting_count)
result = self.api.add_communication_to_case(
communication_body="This is a test solution.",
case_id=case_id
)
self.assertTrue(result.get('result', False))
time.sleep(self.wait_time)
final_cases = self.api.describe_cases(case_id_list=[case_id])
comms = final_cases['cases'][0]['recentCommunications']\
['communications']
self.assertEqual(len(comms), 2)
close_result = self.api.resolve_case(case_id=case_id)