def testOutputWithChildren(self):
        output = yaml.dump(
            {
                'AWSTemplateFormatVersion': '2010-09-09',
                'Description': 'The Description',
                'Resources': {
                    'GeneratedClass0': {
                        'Type': 'AWS::SomeService::GeneratedClass',
                        'Properties': {
                            'Parameter1': 'az-1',
                            'Parameter2': 'ami-12345678'
                        }
                    },
                    'GeneratedClass1': {
                        'Type': 'AWS::SomeService::GeneratedClass',
                        'Properties': {
                            'Parameter1': 'az-2',
                            'Parameter2': 'ami-23456789'
                        }
                    }
                }
            },
            default_flow_style=False)

        subject = cfngenerator.CFTemplate("The Description")
        subject.add(
            cfngenerator.SomeService_GeneratedClass(Parameter1="az-1",
                                                    Parameter2="ami-12345678"))
        subject.add(
            cfngenerator.SomeService_GeneratedClass(Parameter1="az-2",
                                                    Parameter2="ami-23456789"))

        self.assertEqual(subject.output(), output)
    def testGetResourcesForOutput(self):
        output = {
            'GeneratedClass0': {
                'Type': 'AWS::SomeService::GeneratedClass',
                'Properties': {
                    'Parameter1': 'az-1',
                    'Parameter2': 'ami-12345678'
                }
            },
            'GeneratedClass1': {
                'Type': 'AWS::SomeService::GeneratedClass',
                'Properties': {
                    'Parameter1': 'az-2',
                    'Parameter2': 'ami-23456789'
                }
            }
        }

        subject = cfngenerator.CFTemplate("The Description")
        subject.add(
            cfngenerator.SomeService_GeneratedClass(Parameter1="az-1",
                                                    Parameter2="ami-12345678"))
        subject.add(
            cfngenerator.SomeService_GeneratedClass(Parameter2="ami-23456789",
                                                    Parameter1="az-2"))

        self.assertEqual(subject.get_resources_for_output(), output)
    def testDescription(self):
        output = yaml.dump(
            {
                'AWSTemplateFormatVersion': '2010-09-09',
                'Description': 'A Different Description',
                'Resources': None
            },
            default_flow_style=False)

        subject = cfngenerator.CFTemplate("A Different Description")
        self.assertEqual(subject.output(), output)
 def testCreate(self):
     subject = None
     subject = cfngenerator.CFTemplate()
     self.assertIsNotNone(subject)