Exemplo n.º 1
0
def test_import():
    export_stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=export_value_template_json,
        parameters={},
        region_name='us-west-1')
    import_stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=import_value_template_json,
        parameters={},
        region_name='us-west-1',
        cross_stack_resources={export_stack.exports[0].value: export_stack.exports[0]})

    queue = import_stack.resource_map['Queue']
    queue.name.should.equal("value")
Exemplo n.º 2
0
def test_sub():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=sub_template_json,
                      parameters={},
                      region_name='us-west-1')

    queue1 = stack.resource_map['Queue1']
    queue2 = stack.resource_map['Queue2']
    queue2.name.should.equal(queue1.name)
Exemplo n.º 3
0
def test_parse_split_and_select():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=split_select_template_json,
                      parameters={},
                      region_name='us-west-1')

    stack.resource_map.should.have.length_of(1)
    queue = stack.resource_map['Queue']
    queue.name.should.equal("myqueue")
Exemplo n.º 4
0
def test_ssm_parameter_parsing():
    client = boto3.client("ssm", region_name="us-west-1")
    client.put_parameter(Name="/path/to/single/param",
                         Value="string",
                         Type="String")
    client.put_parameter(Name="/path/to/list/param",
                         Value="comma,separated,string",
                         Type="StringList")

    if not settings.TEST_SERVER_MODE:
        stack = FakeStack(
            stack_id="test_id",
            name="test_stack",
            template=ssm_parameter_template_json,
            parameters={
                "SingleParamCfn": "/path/to/single/param",
                "ListParamCfn": "/path/to/list/param",
            },
            region_name="us-west-1",
        )

        stack.resource_map.resolved_parameters["SingleParamCfn"].should.equal(
            "string")
        stack.resource_map.resolved_parameters["ListParamCfn"].should.equal(
            ["comma", "separated", "string"])

    # Not passing in a value for ListParamCfn to test Default value
    if not settings.TEST_SERVER_MODE:
        stack = FakeStack(
            stack_id="test_id",
            name="test_stack",
            template=ssm_parameter_template_json,
            parameters={
                "SingleParamCfn": "/path/to/single/param",
            },
            region_name="us-west-1",
        )

        stack.resource_map.resolved_parameters["SingleParamCfn"].should.equal(
            "string")
        stack.resource_map.resolved_parameters["ListParamCfn"].should.equal(
            ["comma", "separated", "string"])
Exemplo n.º 5
0
def test_parse_stack_with_yaml_template():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=yaml.dump(name_type_template),
                      parameters={},
                      region_name='us-west-1')

    stack.resource_map.should.have.length_of(1)
    list(stack.resource_map.keys())[0].should.equal('Queue')
    queue = list(stack.resource_map.values())[0]
    queue.should.be.a(Queue)
Exemplo n.º 6
0
def test_parse_stack_with_parameters():
    stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=parameters_template_json,
        parameters={"Param": "visible value", "NoEchoParam": "hidden value"},
        region_name="us-west-1",
    )

    stack.resource_map.no_echo_parameter_keys.should.have("NoEchoParam")
    stack.resource_map.no_echo_parameter_keys.should_not.have("Param")
Exemplo n.º 7
0
def test_parse_stack_with_get_attribute_outputs():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=get_attribute_outputs_template_json,
                      parameters={},
                      region_name='us-west-1')

    stack.output_map.should.have.length_of(1)
    list(stack.output_map.keys())[0].should.equal('Output1')
    output = list(stack.output_map.values())[0]
    output.should.be.a(Output)
    output.value.should.equal("my-queue")
Exemplo n.º 8
0
def test_parse_stack_with_outputs():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=output_type_template_json,
                      parameters={},
                      region_name='us-west-1')

    stack.output_map.should.have.length_of(1)
    list(stack.output_map.keys())[0].should.equal('Output1')
    output = list(stack.output_map.values())[0]
    output.should.be.a(Output)
    output.description.should.equal("This is a description.")
Exemplo n.º 9
0
def test_parse_stack_resources():
    stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=dummy_template_json,
    )

    stack.resource_map.should.have.length_of(1)
    stack.resource_map.keys()[0].should.equal('WebServerGroup')
    queue = stack.resource_map.values()[0]
    queue.should.be.a(Queue)
    queue.name.should.equal("my-queue")
Exemplo n.º 10
0
def test_parse_stack_with_get_availability_zones():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=get_availability_zones_template_json,
                      parameters={},
                      region_name='us-east-1')

    stack.output_map.should.have.length_of(1)
    list(stack.output_map.keys())[0].should.equal('Output1')
    output = list(stack.output_map.values())[0]
    output.should.be.a(Output)
    output.value.should.equal(
        ["us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d"])
Exemplo n.º 11
0
def test_parse_stack_with_tabbed_json_template():
    stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=name_type_template_with_tabs_json,
        parameters={},
        region_name="us-west-1",
    )

    stack.resource_map.should.have.length_of(1)
    list(stack.resource_map.keys())[0].should.equal("Queue")
    queue = list(stack.resource_map.values())[0]
    queue.should.be.a(Queue)
Exemplo n.º 12
0
def test_parse_stack_resources():
    stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=dummy_template_json,
        parameters={},
        region_name='us-west-1')

    stack.resource_map.should.have.length_of(1)
    list(stack.resource_map.keys())[0].should.equal('Queue')
    queue = list(stack.resource_map.values())[0]
    queue.should.be.a(Queue)
    queue.name.should.equal("my-queue")
Exemplo n.º 13
0
def test_parse_stack_with_get_attribute_kms():
    from .fixtures.kms_key import template

    template_json = json.dumps(template)
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=template_json,
                      parameters={},
                      region_name='us-west-1')

    stack.output_map.should.have.length_of(1)
    list(stack.output_map.keys())[0].should.equal('KeyArn')
    output = list(stack.output_map.values())[0]
    output.should.be.a(Output)
Exemplo n.º 14
0
def test_parse_stack_resources():
    stack = FakeStack(stack_id="test_id",
                      name="test_stack",
                      template=dummy_template_json,
                      parameters={},
                      region_name='us-west-1')

    stack.resource_map.should.have.length_of(2)

    queue = stack.resource_map['Queue']
    queue.should.be.a(Queue)
    queue.name.should.equal("my-queue")

    bucket = stack.resource_map['S3Bucket']
    bucket.should.be.a(FakeBucket)
    bucket.physical_resource_id.should.equal(bucket.name)
Exemplo n.º 15
0
def test_parse_stack_with_parameters():
    stack = FakeStack(
        stack_id="test_id",
        name="test_stack",
        template=parameters_template_json,
        parameters={
            "Param": "visible value",
            "NumberParam": "42",
            "NumberListParam": "42,3.14159",
            "NoEchoParam": "hidden value",
        },
        region_name="us-west-1",
    )

    stack.resource_map.no_echo_parameter_keys.should.have("NoEchoParam")
    stack.resource_map.no_echo_parameter_keys.should_not.have("Param")
    stack.resource_map.no_echo_parameter_keys.should_not.have("NumberParam")
    stack.resource_map.no_echo_parameter_keys.should_not.have("NumberListParam")
    stack.resource_map.resolved_parameters["NumberParam"].should.equal(42)
    stack.resource_map.resolved_parameters["NumberListParam"].should.equal(
        [42, 3.14159]
    )