def test_incorrect_outputs(self):
    tmpl = {'HeatTemplateFormatVersion': '2012-12-12', 'Resources': {'AResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'abc'}}}, 'Outputs': {'Resource_attr': {'Value': {'Fn::GetAtt': ['AResource', 'Bar']}}}}
    self.stack = stack.Stack(self.ctx, 'stack_with_incorrect_outputs', template.Template(tmpl))
    self.stack.store()
    self.stack.create()
    self.assertEqual((stack.Stack.CREATE, stack.Stack.COMPLETE), self.stack.state)
    ex = self.assertRaises(exception.InvalidTemplateAttribute, self.stack.outputs['Resource_attr'].get_value)
    self.assertIn('The Referenced Attribute (AResource Bar) is incorrect.', str(ex))
    self.stack.delete()
    self.assertEqual((self.stack.DELETE, self.stack.COMPLETE), self.stack.state)
def test_incorrect_outputs(self):
    tmpl = {'HeatTemplateFormatVersion': '2012-12-12', 'Resources': {'AResource': {'Type': 'ResourceWithPropsType', 'Properties': {'Foo': 'abc'}}}, 'Outputs': {'Resource_attr': {'Value': {'Fn::GetAtt': ['AResource', 'Bar']}}}}
    self.stack = stack.Stack(self.ctx, 'stack_with_incorrect_outputs', template.Template(tmpl))
    self.stack.store()
    self.stack.create()
    self.assertEqual((stack.Stack.CREATE, stack.Stack.COMPLETE), self.stack.state)
    ex = self.assertRaises(exception.InvalidTemplateAttribute, self.stack.outputs['Resource_attr'].get_value)
    self.assertIn('The Referenced Attribute (AResource Bar) is incorrect.', str(ex))
    self.stack.delete()
    self.assertEqual((self.stack.DELETE, self.stack.COMPLETE), self.stack.state)