def test_varReplace_list_nolist(self): template = 'hello ${data[1]}' vars = {'data': {'no-one': 0, 'world': 1}} res = template2.legacy_varReplace(None, template, vars) assert res == template
def test_varReplace_nested_list(self): template = 'hello ${data[1].msg[0]}' vars = {'data': ['no-one', {'msg': ['world']}]} res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world'
def test_varReplace_list_oob(self): template = 'hello ${data[2]}' vars = {'data': ['no-one', 'world']} res = template2.legacy_varReplace(None, template, vars) assert res == template
def test_varReplace_escaped_var(self): vars = { 'foo': 'bar', } template = 'action \$foo' res = template2.legacy_varReplace(None, template, vars) assert res == 'action $foo'
def test_varReplace_consecutive_vars(self): vars = { 'foo': 'foo', 'bar': 'bar', } template = '${foo}${bar}' res = template2.legacy_varReplace(None, template, vars) assert res == 'foobar'
def test_varReplace_unicode(self): template = 'hello $who' vars = { 'who': u'wórld', } res = template2.legacy_varReplace(None, template, vars) assert res == u'hello wórld'
def test_varReplace_alternative_greed(self): template = 'hello ${who} }' vars = { 'who': 'world', } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world }'
def test_varReplace_almost_alternative2(self): template = 'hello ${who' vars = { 'who': 'world', } res = template2.legacy_varReplace(None, template, vars) assert res == template
def test_varReplace_middle(self): template = 'hello $who!' vars = { 'who': 'world', } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world!'
def test_varReplace_caps(self): template = 'hello $whoVar' vars = { 'whoVar': 'world', } res = template2.legacy_varReplace(None, template, vars) print res assert res == 'hello world'
def test_varReplace_list_oob(self): template = 'hello ${data[2]}' vars = { 'data': [ 'no-one', 'world' ] } res = template2.legacy_varReplace(None, template, vars) assert res == template
def test_varReplace_list_nolist(self): template = 'hello ${data[1]}' vars = { 'data': { 'no-one': 0, 'world': 1 } } res = template2.legacy_varReplace(None, template, vars) assert res == template
def test_varReplace_nested_list(self): template = 'hello ${data[1].msg[0]}' vars = { 'data': [ 'no-one', {'msg': [ 'world'] } ] } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world'
def test_varReplace_multiple(self): template = '$what $who' vars = { 'what': 'hello', 'who': 'world', } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world'
def test_varReplace_var_partial_part(self): vars = { 'foo': { 'barbaz': 'result', }, 'key': 'bar', } template = 'test ${foo.${key}baz}' res = template2.legacy_varReplace(None, template, vars) assert res == 'test result'
def test_varReplace_nested(self): template = 'hello ${data.who}' vars = { 'data': { 'who': 'world' }, } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world'
def test_varReplace_escape_dot(self): vars = { 'hostvars': { 'test.example.com': { 'foo': 'bar', }, }, } template = '${hostvars.{test.example.com}.foo}' res = template2.legacy_varReplace(None, template, vars) assert res == 'bar'
def test_varReplace_notcomplex(self): template = 'hello $mydata.who' vars = { 'data': { 'who': 'world', }, } res = template2.legacy_varReplace(None, template, vars) print res assert res == template
def test_varReplace_nested_int(self): template = '$what ${data.who}' vars = { 'data': { 'who': 2 }, 'what': 'hello', } res = template2.legacy_varReplace(None, template, vars) assert res == 'hello 2'
def test_varReplace_list_join(self): vars = { 'list': [ 'foo', 'bar', 'baz', ], } template = 'yum pkg=${list} state=installed' res = template2.legacy_varReplace(None, template, vars, expand_lists=True) assert res == 'yum pkg=foo,bar,baz state=installed'
def test_varReplace_trailing_dollar(self): template = '$what $who $' vars = dict(what='hello', who='world') res = template2.legacy_varReplace(None, template, vars) assert res == 'hello world $'