Beispiel #1
0
def test_resolve_collection():
    from .test_stage_resolver import (
        CONTEXT_DATA,
        RESOLVED_DVC_YAML_DATA,
        TEMPLATED_DVC_YAML_DATA,
    )

    context = Context(CONTEXT_DATA)
    assert context.resolve(TEMPLATED_DVC_YAML_DATA) == RESOLVED_DVC_YAML_DATA
Beispiel #2
0
def test_resolve_collection():
    from .test_stage_resolver import (
        CONTEXT_DATA,
        RESOLVED_DVC_YAML_DATA,
        TEMPLATED_DVC_YAML_DATA,
    )

    context = Context(CONTEXT_DATA)
    resolved = context.resolve(TEMPLATED_DVC_YAML_DATA)
    assert resolved == RESOLVED_DVC_YAML_DATA
    assert recurse_not_a_node(resolved)
Beispiel #3
0
def test_resolve_str():
    template = "My name is ${last}, ${first} ${last}"
    expected = "My name is Bond, James Bond"
    assert (resolve(template, Context({
        "first": "James",
        "last": "Bond"
    })) == expected)
Beispiel #4
0
def test_resolve_primitives_dict_access():
    data = {
        "dict": {
            "num": 5,
            "string": "foo",
            "nested": {"float": pi, "string": "bar"},
        }
    }
    context = Context(data)

    assert context.resolve("${dict.num}") == 5
    assert context.resolve("${dict.string}") == "foo"
    assert context.resolve("${dict.nested.float}") == pi
    assert context.resolve("${dict.nested.string}") == "bar"

    assert context.resolve("Number ${dict.num}") == "Number 5"
Beispiel #5
0
def test_resolve_primitives_list_access():
    context = Context(
        {
            "dict": [
                {"f": "f"},
                {"fo": "fo"},
                {"foo": "foo"},
                {"foo": ["f", "o", "o"]},
            ]
        }
    )

    assert context.resolve("${dict.0.f}") == "f"
    assert context.resolve("${dict.1.fo}") == "fo"
    assert context.resolve("${dict.2.foo}") == "foo"
    assert context.resolve("${dict.3.foo.0}") == "f"

    assert context.resolve("${ dict.1.fo}${dict.3.foo.1}bar") == "foobar"
Beispiel #6
0
def test_escape(template, expected, mocker):
    context = Context({"value": "value"})
    assert context.resolve(template) == expected
Beispiel #7
0
def test_resolve_primitive_values(data, template, var):
    context = Context({var: data})
    assert context.resolve(template) == data
Beispiel #8
0
def test_resolve_unicode():
    context = Context({"नेपाली": {"चिया": ["चि", "या"]}})
    assert context.resolve_str("${नेपाली.चिया[0]}${नेपाली.चिया[1]}") == "चिया"
    assert (
        context.resolve_str("${नेपाली[चिया][0]}${नेपाली[चिया][1]}") == "चिया")
Beispiel #9
0
def test_escape(template, expected, mocker):
    assert resolve(template, Context({"value": "value"})) == expected
Beispiel #10
0
def test_resolve_primitive_values(data, template, var):
    assert resolve(template, Context({var: data})) == data