示例#1
0
 def test_parameter_symbols(self):
     template = {
         "Resources": {},
         "Parameters": {
             "Test": {
                 "Default": "data"
             }
         }
     }
     symbol_resolver = IntrinsicsSymbolTable(template=template)
     result = symbol_resolver.resolve_symbols("Test", IntrinsicResolver.REF)
     self.assertEqual(result, "data")
示例#2
0
    def test_custom_attribute_resolver(self):
        template = {
            "Resources": {
                "MyApi": {
                    "Type": "AWS::ApiGateway::RestApi"
                }
            }
        }
        common_attribute_resolver = {"Arn": "test"}

        symbol_resolver = IntrinsicsSymbolTable(
            template=template,
            common_attribute_resolver=common_attribute_resolver)
        result = symbol_resolver.resolve_symbols("MyApi", "Arn")

        self.assertEqual(result, "test")
    def test_default_type_resolver_function(self):
        template = {
            "Resources": {
                "MyApi": {
                    "Type": "AWS::ApiGateway::RestApi"
                }
            },
        }
        default_type_resolver = {
            "AWS::ApiGateway::RestApi": {
                "RootResourceId": lambda logical_id: logical_id
            }
        }

        symbol_resolver = IntrinsicsSymbolTable(template=template, default_type_resolver=default_type_resolver)
        result = symbol_resolver.resolve_symbols("MyApi", "RootResourceId")

        self.assertEquals(result, "MyApi")
示例#4
0
 def test_symbol_resolver_unknown_fail(self):
     resolver = IntrinsicsSymbolTable()
     with self.assertRaises(InvalidSymbolException):
         resolver.resolve_symbols("UNKNOWN",
                                  "SOME UNKNOWN RESOURCE PROPERTY")
示例#5
0
 def test_resolver_ignore_errors(self):
     resolver = IntrinsicsSymbolTable()
     res = resolver.resolve_symbols("UNKNOWN",
                                    "SOME UNKNOWN RESOURCE PROPERTY",
                                    ignore_errors=True)
     self.assertEqual(res, "$UNKNOWN.SOME UNKNOWN RESOURCE PROPERTY")