def test_render_multipass_concat(): os.environ['MYENVVAR'] = '/bin/bash' doc = ''' --- variables: a: "hello-{{ env('NOTFOUND_DEFAULT_VALUE', 'world') }}" b: "one-{{ env('MYENVVAR') }}" c: "two-{{ variables.b }}" d: "three-{{ variables.c }}" e: "{{ variables.c + '-plus-' + variables.d }}" ''' ref = { 'variables': { 'a': 'hello-world', 'b': 'one-/bin/bash', 'c': 'two-one-/bin/bash', 'd': 'three-two-one-/bin/bash', 'e': 'two-one-/bin/bash-plus-three-two-one-/bin/bash' } } md = yaml.load(dedent(doc)) res = reader.render(md) assert (res == ref)
def test_render_multipass(): # no multipass currently doc = ''' --- profile: test resources: oh : '{{ profile }}' data: path: datasets/extract/{{ resources.oh }} format: parquet-{{ resources.oh }} provider: local-{{ resources.oh }} ''' ref = { 'resources': { 'data': { 'format': 'parquet-test', 'path': 'datasets/extract/test', 'provider': 'local-test' }, 'oh': 'test' }, 'profile': 'test' } md = yaml.load(dedent(doc)) res = reader.render(md) assert (res == ref)
def test_render_env(): os.environ['MYENVVAR'] = '/bin/bash' doc = ''' --- profile: default variables: ref: default.variables.a0 a0: "{{ env('MYENVVAR') }}" c0: "{{ ''|env('MYENVVAR')}}" a1: "{{ env('MYENVVAR','default_value') }}" c1: "{{ 'default_value'|env('MYENVVAR')}}" a2: "{{ env('UNDEFINED_ENV', 'world') }}" c2: "{{ 'world'|env('UNDEFINED_ENV')}}" ''' ref = { 'profile': 'default', 'variables': { 'a0': '/bin/bash', 'a1': '/bin/bash', 'a2': 'world', 'c0': '/bin/bash', 'c1': '/bin/bash', 'c2': 'world', 'ref': 'default.variables.a0' } } md = yaml.load(dedent(doc)) res = reader.render(md) assert (res == ref)
def test_render(): doc = ''' --- profile: default resources: input: path: datasets/extract/{{ profile }} format: parquet provider: local-other ''' ref = { 'resources': { 'input': { 'format': 'parquet', 'path': 'datasets/extract/default', 'provider': 'local-other' } }, 'profile': 'default' } md = yaml.load(dedent(doc)) res = reader.render(md) assert (res == ref)