1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
from moto.cloudformation.parsing import get_references_from_template
class TestParametersFromResource:
def test_no_properties(self):
template = {"Type": "AWS::S3::Bucket"}
assert get_references_from_template(template) == []
def test_properties_without_param(self):
template = {"Type": "AWS::S3::Bucket", "Properties": {"BucketName": "mybucket"}}
assert get_references_from_template(template) == []
def test_properties_with_param(self):
template = {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": {"Ref": "BucketName"},
"Tags": [{"Key": {"Ref": "KeyName"}, "Value": {"Ref": "KeyDesc"}}],
},
}
assert get_references_from_template(template) == [
"BucketName",
"KeyName",
"KeyDesc",
]
def test_nested_properties_with_param(self):
template = {
"Type": "AWS::S3::Bucket",
"Properties": {"L1": {"L2": {"Ref": "Name"}}},
}
assert get_references_from_template(template) == ["Name"]
|