summaryrefslogtreecommitdiffstats
path: root/pkg/utils/template_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/utils/template_test.go')
-rw-r--r--pkg/utils/template_test.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkg/utils/template_test.go b/pkg/utils/template_test.go
new file mode 100644
index 000000000..f294d115d
--- /dev/null
+++ b/pkg/utils/template_test.go
@@ -0,0 +1,61 @@
+package utils
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+// TestResolvePlaceholderString is a function.
+func TestResolvePlaceholderString(t *testing.T) {
+ type scenario struct {
+ templateString string
+ arguments map[string]string
+ expected string
+ }
+
+ scenarios := []scenario{
+ {
+ "",
+ map[string]string{},
+ "",
+ },
+ {
+ "hello",
+ map[string]string{},
+ "hello",
+ },
+ {
+ "hello {{arg}}",
+ map[string]string{},
+ "hello {{arg}}",
+ },
+ {
+ "hello {{arg}}",
+ map[string]string{"arg": "there"},
+ "hello there",
+ },
+ {
+ "hello",
+ map[string]string{"arg": "there"},
+ "hello",
+ },
+ {
+ "{{nothing}}",
+ map[string]string{"nothing": ""},
+ "",
+ },
+ {
+ "{{}} {{ this }} { should not throw}} an {{{{}}}} error",
+ map[string]string{
+ "blah": "blah",
+ "this": "won't match",
+ },
+ "{{}} {{ this }} { should not throw}} an {{{{}}}} error",
+ },
+ }
+
+ for _, s := range scenarios {
+ assert.EqualValues(t, s.expected, ResolvePlaceholderString(s.templateString, s.arguments))
+ }
+}