示例#1
0
def test_yaml():
    template = yaml.load('AMI: !Ref Old')
    replace_references(template, 'Old', 'New')

    result = StringIO()
    yaml.dump(template, result)
    assert result.getvalue() == 'AMI: !Ref New\n'
示例#2
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
示例#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")
示例#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
示例#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
示例#6
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