예제 #1
0
class TestDeploymentReporter(object):
    def setup_method(self):
        self.ui = mock.Mock(spec=UI)
        self.reporter = DeploymentReporter(ui=self.ui)

    def test_can_generate_report(self):
        certificate_arn = "arn:aws:acm:us-east-1:account_id:" \
                         "certificate/e2600f49-f6b7-4105-aaf6-63b2f018a030"
        deployed_values = {
            "resources": [
                {"role_name": "james2-dev",
                 "role_arn": "my-role-arn",
                 "name": "default-role",
                 "resource_type": "iam_role"},
                {"lambda_arn": "lambda-arn-foo",
                 "name": "foo",
                 "resource_type": "lambda_function"},
                {"lambda_arn": "lambda-arn-dev",
                 "name": "api_handler",
                 "resource_type": "lambda_function"},
                {"name": "rest_api",
                 "rest_api_id": "rest_api_id",
                 "rest_api_url": "https://host/api",
                 "resource_type": "rest_api"},
                {"name": "websocket_api",
                 "websocket_api_id": "websocket_api_id",
                 "websocket_api_url": "wss://host/api",
                 "resource_type": "websocket_api"},
                {"name": "api_gateway_custom_domain",
                 "resource_type": "domain_name",
                 "hosted_zone_id": "A1FDTDATADATA0",
                 "certificate_arn": certificate_arn,
                 "alias_domain_name": "alias.domain.com",
                 "security_policy": "TLS_1_0",
                 "domain_name": "api.domain",
                 "api_mapping": [
                     {
                         "key": "/test1"
                     }
                 ]}
            ],
        }
        report = self.reporter.generate_report(deployed_values)
        assert report == (
            "Resources deployed:\n"
            "  - Lambda ARN: lambda-arn-foo\n"
            "  - Lambda ARN: lambda-arn-dev\n"
            "  - Rest API URL: https://host/api\n"
            "  - Websocket API URL: wss://host/api\n"
            "  - Custom domain name:\n"
            "      HostedZoneId: A1FDTDATADATA0\n"
            "      AliasDomainName: alias.domain.com\n"
        )

    def test_can_display_report(self):
        deployed_values = {
            'resources': []
        }
        self.reporter.display_report(deployed_values)
        self.ui.write.assert_called_with('Resources deployed:\n')
예제 #2
0
class TestDeploymentReporter(object):
    def setup_method(self):
        self.ui = mock.Mock(spec=UI)
        self.reporter = DeploymentReporter(ui=self.ui)

    def test_can_generate_report(self):
        deployed_values = {
            "resources": [
                {
                    "role_name": "james2-dev",
                    "role_arn": "my-role-arn",
                    "name": "default-role",
                    "resource_type": "iam_role"
                },
                {
                    "lambda_arn": "lambda-arn-foo",
                    "name": "foo",
                    "resource_type": "lambda_function"
                },
                {
                    "lambda_arn": "lambda-arn-dev",
                    "name": "api_handler",
                    "resource_type": "lambda_function"
                },
                {
                    "name": "rest_api",
                    "rest_api_id": "rest_api_id",
                    "rest_api_url": "https://host/api",
                    "resource_type": "rest_api"
                },
                {
                    "name": "websocket_api",
                    "websocket_api_id": "websocket_api_id",
                    "websocket_api_url": "wss://host/api",
                    "resource_type": "websocket_api"
                },
            ],
        }
        report = self.reporter.generate_report(deployed_values)
        assert report == ("Resources deployed:\n"
                          "  - Lambda ARN: lambda-arn-foo\n"
                          "  - Lambda ARN: lambda-arn-dev\n"
                          "  - Rest API URL: https://host/api\n"
                          "  - Websocket API URL: wss://host/api\n")

    def test_can_display_report(self):
        deployed_values = {'resources': []}
        self.reporter.display_report(deployed_values)
        self.ui.write.assert_called_with('Resources deployed:\n')
예제 #3
0
 def setup_method(self):
     self.ui = mock.Mock(spec=UI)
     self.reporter = DeploymentReporter(ui=self.ui)