From 0476c21e4a079105c14b0ba9a8a13f3036ea4ca4 Mon Sep 17 00:00:00 2001 From: october <764213885@qq.com> Date: Thu, 22 Sep 2022 22:13:11 +0800 Subject: [PATCH] feat(tests): add template render --- tests/util/template.go | 20 ++++++++++++++++++++ tests/util/template_test.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 tests/util/template.go create mode 100644 tests/util/template_test.go diff --git a/tests/util/template.go b/tests/util/template.go new file mode 100644 index 0000000000..7ea08e7f38 --- /dev/null +++ b/tests/util/template.go @@ -0,0 +1,20 @@ +package util + +import ( + "bytes" + "text/template" +) + +func RenderTemplate(temp string, data map[string]string) (string, error) { + tpl, err := template.New("temp").Parse(temp) + if err != nil { + return "", err + } + + buf := bytes.NewBuffer([]byte{}) + err = tpl.Execute(buf, data) + if err != nil { + return "", err + } + return buf.String(), nil +} diff --git a/tests/util/template_test.go b/tests/util/template_test.go new file mode 100644 index 0000000000..45c3461a73 --- /dev/null +++ b/tests/util/template_test.go @@ -0,0 +1,33 @@ +package util + +import "testing" + +func TestRenderTemplate(t *testing.T) { + + oldTempl := ` +apiVersion: oss.laf.dev/v1 +kind: Bucket +metadata: + name: {{ .name }} + namespace: {{ .namespace }} +spec: + policy: readonly + storage: 100Mi +status: + capacity: + maxStorage: 100Mi + objectCount: 0 + storage: '0' + policy: readonly + user: app1 + versioning: true +` + newTempl, err := RenderTemplate(oldTempl, map[string]string{ + "name": "app1", + "namespace": "default", + }) + if err != nil { + t.Fatal(err) + } + t.Log(newTempl) +}