def test_incorrect_outputs_cfn_get_attr(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_correct_outputs', template.Template(tmpl))
    self.assertRaisesRegex(exception.StackValidationFailed, 'Outputs.Resource_attr.Value.Fn::GetAtt: The Referenced Attribute \\(AResource Bar\\) is incorrect.', self.stack.validate)
def test_incorrect_outputs_cfn_get_attr(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_correct_outputs', template.Template(tmpl))
    self.assertRaisesRegex(exception.StackValidationFailed, 'Outputs.Resource_attr.Value.Fn::GetAtt: The Referenced Attribute \\(AResource Bar\\) is incorrect.', self.stack.validate)