def test_resource_with_extended_attributes(self): update_policy = core.UpdatePolicy({ "Object1": "Location1", "Object2": "Location2" }) metadata = core.Metadata({ "Object1": "Location1", "Object2": "Location2" }) deletion_policy = core.DeletionPolicy("Retain") depends_on = core.DependsOn("Location2") res = core.Resource( 'TestResource', 'AWS::Resource::Test', None, [metadata, update_policy, deletion_policy, depends_on]) cft = core.CloudFormationTemplate() cft.resources.test = res # The output should have the metadata attached expected_out = dedent(u'''\ { "Type": "AWS::Resource::Test", "Metadata": { "Object1": "Location1", "Object2": "Location2" }, "UpdatePolicy": { "Object1": "Location1", "Object2": "Location2" }, "DeletionPolicy": "Retain", "DependsOn": "Location2" }''') self.assertEqual(unicode(cft.resources.test), expected_out)
def test_resource_with_metadata(self): metadata = core.Metadata({ "Object1": "Location1", "Object2": "Location2" }) res = core.Resource('TestResource', 'AWS::Resource::Test', None, metadata) cft = core.CloudFormationTemplate() cft.resources.test = res # The output should have the metadata attached expected_out = dedent(u'''\ { "Type": "AWS::Resource::Test", "Metadata": { "Object1": "Location1", "Object2": "Location2" } }''') self.assertEqual(unicode(cft.resources.test), expected_out)