From 7f70138b5f5ea8f11e6639f45f33afd53316bd91 Mon Sep 17 00:00:00 2001 From: yxxhero Date: Sun, 3 Apr 2022 17:31:59 +0800 Subject: [PATCH] add unit for formatters.go Signed-off-by: yxxhero --- pkg/app/formatters_test.go | 80 +++++++++++++++++++++++++ pkg/app/testdata/formatters/jsonoutput | 1 + pkg/app/testdata/formatters/tableoutput | 3 + 3 files changed, 84 insertions(+) create mode 100644 pkg/app/formatters_test.go create mode 100644 pkg/app/testdata/formatters/jsonoutput create mode 100644 pkg/app/testdata/formatters/tableoutput diff --git a/pkg/app/formatters_test.go b/pkg/app/formatters_test.go new file mode 100644 index 00000000..77bdf2b3 --- /dev/null +++ b/pkg/app/formatters_test.go @@ -0,0 +1,80 @@ +package app + +import ( + "os" + "testing" +) + +// TestFormatAsTable tests the FormatAsTable function. +func TestFormatAsTable(t *testing.T) { + + h := []*HelmRelease{ + { + Name: "test", + Namespace: "test", + Enabled: true, + Installed: true, + Labels: "test", + Chart: "test", + Version: "test", + }, + { + Name: "test1", + Namespace: "test2", + Enabled: false, + Installed: false, + Labels: "test1", + Chart: "test1", + Version: "test1", + }, + } + + tableoutput := "testdata/formatters/tableoutput" + expectd, err := os.ReadFile(tableoutput) + if err != nil { + t.Errorf("error reading %s: %v", tableoutput, err) + } + + result := captureStdout(func() { + FormatAsTable(h) + }) + if result != string(expectd) { + t.Errorf("FormatAsTable() = %v, want %v", result, string(expectd)) + } +} + +func TestFormatAsJson(t *testing.T) { + h := []*HelmRelease{ + { + Name: "test", + Namespace: "test", + Enabled: true, + Installed: true, + Labels: "test", + Chart: "test", + Version: "test", + }, + { + Name: "test1", + Namespace: "test2", + Enabled: false, + Installed: false, + Labels: "test1", + Chart: "test1", + Version: "test1", + }, + } + output := "testdata/formatters/jsonoutput" + expectd, err := os.ReadFile(output) + if err != nil { + t.Errorf("error reading %s: %v", output, err) + } + result := captureStdout(func() { + FormatAsJson(h) + }) + + if result != string(expectd) { + t.Errorf("FormatAsJson() = %v, want %v", result, string(expectd)) + } + +} diff --git a/pkg/app/testdata/formatters/jsonoutput b/pkg/app/testdata/formatters/jsonoutput new file mode 100644 index 00000000..83a148f8 --- /dev/null +++ b/pkg/app/testdata/formatters/jsonoutput @@ -0,0 +1 @@ +[{"name":"test","namespace":"test","enabled":true,"installed":true,"labels":"test","chart":"test","version":"test"},{"name":"test1","namespace":"test2","enabled":false,"installed":false,"labels":"test1","chart":"test1","version":"test1"}] diff --git a/pkg/app/testdata/formatters/tableoutput b/pkg/app/testdata/formatters/tableoutput new file mode 100644 index 00000000..4630d29a --- /dev/null +++ b/pkg/app/testdata/formatters/tableoutput @@ -0,0 +1,3 @@ +NAME NAMESPACE ENABLED INSTALLED LABELS CHART VERSION +test test true true test test test +test1 test2 false false test1 test1 test1