Exemple #1
0
    def test_resolve_with_implicit_stack_reference(self,
                                                   mock_get_output_value):
        stack = MagicMock(spec=Stack)
        stack.dependencies = []
        stack.project_code = "project-code"
        stack.name = "account/dev/stack"
        stack._connection_manager = MagicMock(spec=ConnectionManager)

        dependency = MagicMock()
        dependency.name = "account/dev/vpc"
        dependency.profile = 'dependency_profile'
        dependency.region = 'dependency_region'

        mock_get_output_value.return_value = "output_value"

        stack_output_resolver = StackOutput("account/dev/vpc.yaml::VpcId",
                                            stack)

        stack_output_resolver.setup()
        assert stack.dependencies == ["account/dev/vpc.yaml"]

        stack.dependencies = [dependency]
        result = stack_output_resolver.resolve()
        assert result == "output_value"
        mock_get_output_value.assert_called_once_with(
            "project-code-account-dev-vpc",
            "VpcId",
            profile='dependency_profile',
            region='dependency_region')
    def test_resolver_with_existing_dependencies(self, mock_get_output_value):
        stack = MagicMock(spec=Stack)
        stack.dependencies = ["existing"]
        stack.project_code = "project-code"
        stack.template.connection_manager = MagicMock(spec=ConnectionManager)

        dependency = MagicMock()
        dependency.name = "account/dev/vpc"
        dependency.profile = 'dependency_profile'
        dependency.region = 'dependency_region'

        mock_get_output_value.return_value = "output_value"

        stack_output_resolver = StackOutput("account/dev/vpc::VpcId", stack)

        stack_output_resolver.setup()
        assert stack.dependencies == ["existing", "account/dev/vpc"]

        stack.dependencies = [MagicMock(), dependency]
        result = stack_output_resolver.resolve()
        assert result == "output_value"
        mock_get_output_value.assert_called_once_with(
            "project-code-account-dev-vpc",
            "VpcId",
            profile='dependency_profile',
            region='dependency_region')
Exemple #3
0
    def test_resolve_with_implicit_stack_reference_top_level(
            self, mock_get_output_value):
        stack = MagicMock(spec=Stack)
        stack.dependencies = []
        stack.project_code = "project-code"
        stack.name = "stack"
        stack._connection_manager = MagicMock(spec=ConnectionManager)

        dependency = MagicMock()
        dependency.project_code = "meh"
        dependency.name = "vpc"
        dependency.profile = "dependency_profile"
        dependency.region = "dependency_region"
        dependency.iam_role = "dependency_iam_role"

        mock_get_output_value.return_value = "output_value"

        stack_output_resolver = StackOutput("vpc.yaml::VpcId", stack)

        stack_output_resolver.setup()
        assert stack.dependencies == ["vpc.yaml"]

        stack.dependencies = [dependency]
        result = stack_output_resolver.resolve()
        assert result == "output_value"
        mock_get_output_value.assert_called_once_with(
            "meh-vpc",
            "VpcId",
            profile="dependency_profile",
            region="dependency_region",
            iam_role="dependency_iam_role")
Exemple #4
0
    def test_resolve(self, mock_get_output_value):
        mock_environment_config = MagicMock(spec=Config)
        mock_stack_config = MagicMock(spec=Config)
        mock_environment_config.__getitem__.return_value = "project-code"
        mock_stack_config.__getitem__.return_value = []

        stack_output_resolver = StackOutput(
            environment_config=mock_environment_config,
            stack_config=mock_stack_config,
            connection_manager=sentinel.connection_manager,
            argument="account/dev/vpc::VpcId"
        )

        mock_get_output_value.return_value = "output_value"

        stack_output_resolver.resolve()

        mock_get_output_value.assert_called_once_with(
            "project-code-account-dev-vpc", "VpcId"
        )
    def test_resolver_with_existing_dependencies(self, mock_get_output_value):
        stack = MagicMock(spec=Stack)
        stack.dependencies = ["existing"]
        stack.project_code = "project-code"
        stack.connection_manager = MagicMock(spec=ConnectionManager)
        stack_output_resolver = StackOutput("account/dev/vpc::VpcId", stack)
        mock_get_output_value.return_value = "output_value"

        result = stack_output_resolver.resolve()
        assert result == "output_value"
        mock_get_output_value.assert_called_once_with(
            "project-code-account-dev-vpc", "VpcId")
        assert stack.dependencies == ["existing", "account/dev/vpc"]
Exemple #6
0
    def test_resolve_with_implicit_stack_reference(self,
                                                   mock_get_output_value):
        stack = MagicMock(spec=Stack)
        stack.dependencies = []
        stack.project_code = "project-code"
        stack.name = "account/dev/stack"
        stack.connection_manager = MagicMock(spec=ConnectionManager)
        stack_output_resolver = StackOutput("vpc::VpcId", stack)
        mock_get_output_value.return_value = "output_value"

        stack_output_resolver.setup()
        result = stack_output_resolver.resolve()

        assert result == "output_value"
        mock_get_output_value.assert_called_once_with(
            "project-code-account-dev-vpc", "VpcId")
        assert stack.dependencies == ["account/dev/vpc"]