support - intial commit to kick off trusted advisor checks (#3685)

* support - intial commit to kick off trusted advisor checks

* edit - expanded testing to include checking for expected check ids and
check names.

Added server testing

added support resource json to manifest file and simplified
support response return from reviewed comments

* Streamline loading of resource files

* edit - ensured regions are assigned in models

Co-authored-by: Bert Blommers <info@bertblommers.nl>
This commit is contained in:
Connor 2021-02-14 12:22:16 +00:00 committed by GitHub
commit 4d0ee82f98
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 1690 additions and 8 deletions

View file

View file

@ -0,0 +1,60 @@
from __future__ import unicode_literals
import sure # noqa
import moto.server as server
"""
Test the different server responses for support
"""
def test_describe_trusted_advisor_checks_returns_check_names():
"""
Check that the correct names of checks are returned
"""
backend = server.create_backend_app("support")
test_client = backend.test_client()
res = test_client.get("/?Action=DescribeTrustedAdvisorChecks&Version=2015-12-01")
res.data.should.contain(b"Low Utilization Amazon EC2 Instances")
res.data.should.contain(b"ELB Application Load Balancers")
def test_describe_trusted_advisor_checks_does_not_return_wrong_check_names():
"""
Check that the wrong names of checks are not returned
"""
backend = server.create_backend_app("support")
test_client = backend.test_client()
res = test_client.get("/?Action=DescribeTrustedAdvisorChecks&Version=2015-12-01")
res.data.doesnot.contain(b"Low Utilization Amazon Foo Instances")
res.data.doesnot.contain(b"ELB Application Bar Balancers")
def test_describe_trusted_advisor_checks_returns_check_ids():
"""
Check that some random ids of checks are returned
"""
backend = server.create_backend_app("support")
test_client = backend.test_client()
res = test_client.get("/?Action=DescribeTrustedAdvisorChecks&Version=2015-12-01")
res.data.should.contain(b"DAvU99Dc4C")
res.data.should.contain(b"zXCkfM1nI3")
def test_describe_trusted_advisor_checks_does_not_return_wrong_id():
"""
Check that some wrong ids of checks are not returned
"""
backend = server.create_backend_app("support")
test_client = backend.test_client()
res = test_client.get("/?Action=DescribeTrustedAdvisorChecks&Version=2015-12-01")
res.data.doesnot.contain(b"DAvU99DcBAR")
res.data.doesnot.contain(b"zXCkfM1nFOO")

View file

@ -0,0 +1,45 @@
from __future__ import unicode_literals
import boto3
import sure # noqa
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")