From 5bd5f721704516be4f10bcdf08d421e45b1c6e00 Mon Sep 17 00:00:00 2001 From: yxxhero <11087727+yxxhero@users.noreply.github.com> Date: Wed, 29 Jun 2022 19:33:15 +0800 Subject: [PATCH] add unittest for text_renderer.go (#168) Signed-off-by: yxxhero --- pkg/app/app_lint_test.go | 16 +++++----- pkg/app/app_template_test.go | 16 +++++----- pkg/tmpl/text_renderer_test.go | 58 ++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 16 deletions(-) create mode 100644 pkg/tmpl/text_renderer_test.go diff --git a/pkg/app/app_lint_test.go b/pkg/app/app_lint_test.go index a3a8f61c..fb4ca33f 100644 --- a/pkg/app/app_lint_test.go +++ b/pkg/app/app_lint_test.go @@ -262,7 +262,7 @@ releases: }, selectors: []string{"name=test2"}, linted: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string{}}, + {Name: "test2", Flags: []string{}}, }, }) }) @@ -275,8 +275,8 @@ releases: }, selectors: []string{"name=test3"}, linted: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string{}}, - exectest.Release{Name: "test3", Flags: []string{}}, + {Name: "test2", Flags: []string{}}, + {Name: "test3", Flags: []string{}}, }, }) }) @@ -290,8 +290,8 @@ releases: }, selectors: []string{"name=test3"}, linted: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string{}}, - exectest.Release{Name: "test3", Flags: []string{}}, + {Name: "test2", Flags: []string{}}, + {Name: "test3", Flags: []string{}}, }, }) }) @@ -305,7 +305,7 @@ releases: }, selectors: []string{"name=test2"}, linted: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string{}}, + {Name: "test2", Flags: []string{}}, }, }) }) @@ -319,8 +319,8 @@ releases: }, selectors: []string{"name=test3"}, linted: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string{}}, - exectest.Release{Name: "test3", Flags: []string{}}, + {Name: "test2", Flags: []string{}}, + {Name: "test3", Flags: []string{}}, }, }) }) diff --git a/pkg/app/app_template_test.go b/pkg/app/app_template_test.go index 413bc1ab..979eb626 100644 --- a/pkg/app/app_template_test.go +++ b/pkg/app/app_template_test.go @@ -262,7 +262,7 @@ releases: }, selectors: []string{"name=test2"}, templated: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string(nil)}, + {Name: "test2", Flags: []string(nil)}, }, }) }) @@ -275,8 +275,8 @@ releases: }, selectors: []string{"name=test3"}, templated: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string(nil)}, - exectest.Release{Name: "test3", Flags: []string(nil)}, + {Name: "test2", Flags: []string(nil)}, + {Name: "test3", Flags: []string(nil)}, }, }) }) @@ -290,8 +290,8 @@ releases: }, selectors: []string{"name=test3"}, templated: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string(nil)}, - exectest.Release{Name: "test3", Flags: []string(nil)}, + {Name: "test2", Flags: []string(nil)}, + {Name: "test3", Flags: []string(nil)}, }, }) }) @@ -305,7 +305,7 @@ releases: }, selectors: []string{"name=test2"}, templated: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string(nil)}, + {Name: "test2", Flags: []string(nil)}, }, }) }) @@ -319,8 +319,8 @@ releases: }, selectors: []string{"name=test3"}, templated: []exectest.Release{ - exectest.Release{Name: "test2", Flags: []string(nil)}, - exectest.Release{Name: "test3", Flags: []string(nil)}, + {Name: "test2", Flags: []string(nil)}, + {Name: "test3", Flags: []string(nil)}, }, }) }) diff --git a/pkg/tmpl/text_renderer_test.go b/pkg/tmpl/text_renderer_test.go new file mode 100644 index 00000000..4947c8ce --- /dev/null +++ b/pkg/tmpl/text_renderer_test.go @@ -0,0 +1,58 @@ +package tmpl + +import ( + "os" + "testing" + + "github.com/stretchr/testify/require" +) + +// TestTextRenderer tests the text renderer. +func TestNewTextRenderer(t *testing.T) { + tData := map[string]interface{}{ + "foo": "bar", + } + tr := NewTextRenderer(os.ReadFile, ".", tData) + require.Equal(t, tData, tr.Data) + require.Equal(t, ".", tr.Context.basePath) +} + +// TestTextRenderer tests the text renderer. +func TestTextRender(t *testing.T) { + tData := map[string]interface{}{ + "foot": "bart", + } + tr := NewTextRenderer(os.ReadFile, ".", tData) + + tests := []struct { + text string + expectd string + wantErr bool + }{ + { + text: `{{ $foo := .foot }}{{ $foo }}`, + expectd: "bart", + wantErr: false, + }, + { + text: `{ $foo := .foot }}{{ $foo }}`, + wantErr: true, + }, + { + text: `{{ $foo := .a }}{{ $foo }}`, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.text, func(t *testing.T) { + got, err := tr.RenderTemplateText(tt.text) + if tt.wantErr { + require.Error(t, err) + } else { + require.NoError(t, err) + } + require.Equal(t, tt.expectd, got) + }) + } +}