Beispiel #1
0
def test_yaml():
    template = yaml.load("""
Resources:
  AMI: !Ref Old
""")

    assert template.get("Resources", {}).get("AMI")
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
Beispiel #2
0
def test_get_att():
    template = {
        "Resources": {
            "AMI": {},
            "EC2Instance": {
                "FN::GetAtt": ["AMI", "Arn"]
            }
        }
    }
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("EC2Instance") is None
Beispiel #3
0
def test_yaml_no_ref_in_sub():
    template = yaml.load("""
Resources:
  AMI: 
    Type: Custom::AMI
  EC2Instance:
    ImageId: !Sub '${!AMI}'
""")

    assert template.get("Resources", {}).get("AMI")
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("EC2Instance")
Beispiel #4
0
def test_yaml_simple_ref():
    template = yaml.load("""
Resources:
  AMI: 
    Type: Custom::AMI
  EC2Instance:
    ImageId: !Ref AMI
""")

    assert template.get("Resources", {}).get("AMI")
    remove_resource_from_template(template, "AMI")
    resources = template.get("Resources")
    assert resources.get("AMI") is None
    assert resources.get("EC2Instance") is None
Beispiel #5
0
def test_yaml_ref_in_sub_array_style():
    template = yaml.load("""
Resources:
  AMI: 
    Type: Custom::AMI
  EC2Instance:
    ImageId: !Sub
      - '${AmiReference}'
      - AmiReference: !Ref AMI
""")
    assert template.get("Resources", {}).get("AMI")
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("EC2Instance") is None
Beispiel #6
0
def test_simple_ref():
    template = {
        "Resources": {
            "AMI": {},
            "EC2Instance": {
                "ImageId": {
                    "Ref": "AMI"
                }
            }
        }
    }
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("ECInstance") is None
Beispiel #7
0
def test_yaml_nested_ref():
    template = yaml.load("""
Resources:
  AMI: 
    Type: Custom::AMI
  EC2Instance:
    ImageId: !GetAtt
      - !Ref AMI
      - Arn
""")

    assert template.get("Resources", {}).get("AMI")
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("EC2Instance") is None
Beispiel #8
0
def test_array_reference():
    template = {
        "Resources": {
            "AMI": {},
            "EC2Instance": {
                "ImageIds": [{
                    "Ref": "AMI"
                }, {
                    "Ref": "None"
                }]
            },
        }
    }
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("AMI") is None
Beispiel #9
0
def test_json_sub():
    template = {
        "Resources": {
            "AMI": {},
            "EC2Instance": {
                "FN::Sub": ["${AmiRef}", {
                    "AmiRef": {
                        "Ref": "AMI"
                    }
                }]
            },
        }
    }
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None
    assert template.get("Resources", {}).get("EC2Instance") is None
Beispiel #10
0
def test_simple():
    template = {"Resources": {"AMI": {}}}
    remove_resource_from_template(template, "AMI")
    assert template.get("Resources", {}).get("AMI") is None