def test_correct_outputs(self):
    tmpl = {'HeatTemplateFormatVersion': '2012-12-12', 'Resources': {'AResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'abc'}}, 'BResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'def'}}}, 'Outputs': {'Resource_attr': {'Value': {'Fn::GetAtt': ['AResource', 'Foo']}}}}
    self.stack = stack.Stack(self.ctx, 'stack_with_correct_outputs', template.Template(tmpl))
    self.stack.store()
    self.stack.create()
    self.assertEqual((stack.Stack.CREATE, stack.Stack.COMPLETE), self.stack.state)
    self.assertEqual('abc', self.stack['AResource'].properties['Foo'])
    self.stack._update_all_resource_data(False, True)
    self.assertEqual('AResource', self.stack.outputs['Resource_attr'].get_value())
    self.stack.delete()
    self.assertEqual((self.stack.DELETE, self.stack.COMPLETE), self.stack.state)
def test_correct_outputs(self):
    tmpl = {'HeatTemplateFormatVersion': '2012-12-12', 'Resources': {'AResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'abc'}}, 'BResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'def'}}}, 'Outputs': {'Resource_attr': {'Value': {'Fn::GetAtt': ['AResource', 'Foo']}}}}
    self.stack = stack.Stack(self.ctx, 'stack_with_correct_outputs', template.Template(tmpl))
    self.stack.store()
    self.stack.create()
    self.assertEqual((stack.Stack.CREATE, stack.Stack.COMPLETE), self.stack.state)
    self.assertEqual('abc', self.stack['AResource'].properties['Foo'])
    self.stack._update_all_resource_data(False, True)
    self.assertEqual('AResource', self.stack.outputs['Resource_attr'].get_value())
    self.stack.delete()
    self.assertEqual((self.stack.DELETE, self.stack.COMPLETE), self.stack.state)