From afb3a789cb62c93b5917d394c668dfc95edcf1d9 Mon Sep 17 00:00:00 2001 From: "yann.degat" Date: Fri, 16 Dec 2022 11:25:25 +0000 Subject: [PATCH] Fix double interpolation issue --- lookup/lookup_test.go | 4 ++-- lookup/testdata/hiera/common.yaml | 2 ++ session/invocation.go | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lookup/lookup_test.go b/lookup/lookup_test.go index 6d87286..78e038e 100644 --- a/lookup/lookup_test.go +++ b/lookup/lookup_test.go @@ -468,9 +468,9 @@ func TestLookup_all_not_there(t *testing.T) { func TestLookup_all_type(t *testing.T) { ensureTestPlugin(t) inTestdata(func() { - result, err := cli.ExecuteLookup(`stringkey`, `intkey`, `--all`, `--dialect`, `dgo`, `--render-as`, `s`, `--type`, `{"stringkey":string,"intkey":int}`) + result, err := cli.ExecuteLookup(`stringkey`, `intkey`, `literalkey`, `--all`, `--dialect`, `dgo`, `--render-as`, `s`, `--type`, `{"stringkey":string,"literalkey":string,"intkey":int}`) require.NoError(t, err) - require.Equal(t, `{"stringkey":"stringvalue","intkey":1} + require.Equal(t, `{"stringkey":"stringvalue","intkey":1,"literalkey":"%{literalvalue}"} `, string(result)) }) } diff --git a/lookup/testdata/hiera/common.yaml b/lookup/testdata/hiera/common.yaml index d7f67da..717ca37 100644 --- a/lookup/testdata/hiera/common.yaml +++ b/lookup/testdata/hiera/common.yaml @@ -39,4 +39,6 @@ simple: value stringkey: stringvalue +literalkey: "%{literal('%')}{literalvalue}" + intkey: 1 diff --git a/session/invocation.go b/session/invocation.go index e1233b8..bafe380 100644 --- a/session/invocation.go +++ b/session/invocation.go @@ -252,7 +252,6 @@ func (ic *ivContext) Lookup(key api.Key, options dgo.Map) dgo.Value { v := ic.TopProvider()(ic.ServerContext(options), rootKey) if v != nil { dc := ic.ForData() - v = dc.Interpolate(v, true) v = key.Dig(dc, v) } return v