'Nested stacks need to recurse down the stacks.'

def test_nested_pass(self):

    main_template = '\nheat_template_version:    2015-04-30\nparameters:\n        incomming:\n                type:    string\nresources:\n        main:\n                type:    nested.yaml\n                properties:\n                        value:    {get_param:    incomming}\noutputs:\n        main_out:\n                value:    {get_attr:    [main,    output]}\n                '
    nested_template = '\nheat_template_version:    2015-04-30\nparameters:\n        value:\n                type:    string\nresources:\n        nested:\n                type:    OS::Heat::TestResource\n                properties:\n                        value:    {get_param:    value}\noutputs:\n        output:\n                value:    {get_attr:    [nested,    output]}\n'
    stack_name = self._stack_rand_name()
    result = self.client.stacks.preview(disable_rollback=True, stack_name=stack_name, template=main_template, files={'nested.yaml': nested_template}, environment=self.env).to_dict()
    self._assert_results(result, stack_name)
    res = result['resources'][0][0]
    nested_stack_name = ('%s-%s' % (stack_name, res['parent_resource']))
    self._assert_resource(res, nested_stack_name)
    self.assertEqual('OS::Heat::TestResource', res['resource_type'])
    self.assertFalse(res['properties']['fail'])
    self.assertEqual(0, res['properties']['wait_secs'])
    self.assertFalse(res['properties']['update_replace'])
    self.assertEqual('abc', res['properties']['value'])
    self.assertEqual([], res['required_by'])
