Example #1
0
def test_munge_jinja2_vars():
    meta = {
        "val":
        "<{ var }}",
        "list": [
            "val",
            "<{ val_34 }}",
            {
                "fg":
                2,
                "str":
                "valish",
                "ab":
                "<{ val_again }}",
                "dict": {
                    "hello": "<{ val_45 }}",
                    "int": 4
                },
                "list_again": [
                    "hi",
                    {
                        "hello": "<{ val_12 }}",
                        "int": 5
                    },
                    "<{ val_56 }}",
                ],
            },
        ],
    }

    demunged_meta_true = {
        "val":
        "{{ var }}",
        "list": [
            "val",
            "{{ val_34 }}",
            {
                "fg":
                2,
                "str":
                "valish",
                "ab":
                "{{ val_again }}",
                "dict": {
                    "hello": "{{ val_45 }}",
                    "int": 4
                },
                "list_again": [
                    "hi",
                    {
                        "hello": "{{ val_12 }}",
                        "int": 5
                    },
                    "{{ val_56 }}",
                ],
            },
        ],
    }

    # dict
    demunged_meta = _demunge_jinja2_vars(meta, "<")
    assert demunged_meta_true == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta, "<")
    assert redemunged_meta == meta

    # start with list
    demunged_meta = _demunge_jinja2_vars(meta["list"], "<")
    assert demunged_meta_true["list"] == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta, "<")
    assert redemunged_meta == meta["list"]

    # string only?
    demunged_meta = _demunge_jinja2_vars("<{ val }}", "<")
    assert "{{ val }}" == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta, "<")
    assert redemunged_meta == "<{ val }}"

    demunged_meta = _demunge_jinja2_vars("<<{ val }}", "<<")
    assert "{{ val }}" == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta, "<<")
    assert redemunged_meta == "<<{ val }}"

    # an int
    demunged_meta = _demunge_jinja2_vars(5, "<")
    assert 5 == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta, "<")
    assert redemunged_meta == 5
Example #2
0
def test_munge_jinja2_vars():
    meta = {
        'val':
        '<{ var }}',
        'list': [
            'val', '<{ val_34 }}', {
                'fg':
                2,
                'str':
                'valish',
                'ab':
                '<{ val_again }}',
                'dict': {
                    'hello': '<{ val_45 }}',
                    'int': 4
                },
                'list_again':
                ['hi', {
                    'hello': '<{ val_12 }}',
                    'int': 5
                }, '<{ val_56 }}']
            }
        ]
    }

    demunged_meta_true = {
        'val':
        '{{ var }}',
        'list': [
            'val',
            '{{ val_34 }}',
            {
                'fg':
                2,
                'str':
                'valish',
                'ab':
                '{{ val_again }}',
                'dict': {
                    'hello': '{{ val_45 }}',
                    'int': 4
                },
                'list_again':
                ['hi', {
                    'hello': '{{ val_12 }}',
                    'int': 5
                }, '{{ val_56 }}'],
            },
        ],
    }

    # dict
    demunged_meta = _demunge_jinja2_vars(meta)
    assert demunged_meta_true == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta)
    assert redemunged_meta == meta

    # start with list
    demunged_meta = _demunge_jinja2_vars(meta['list'])
    assert demunged_meta_true['list'] == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta)
    assert redemunged_meta == meta['list']

    # string only?
    demunged_meta = _demunge_jinja2_vars('<{ val }}')
    assert '{{ val }}' == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta)
    assert redemunged_meta == '<{ val }}'

    # an int
    demunged_meta = _demunge_jinja2_vars(5)
    assert 5 == demunged_meta
    redemunged_meta = _remunge_jinja2_vars(demunged_meta)
    assert redemunged_meta == 5