From 5bf9e4094ad4c0f140b18213083e2446253efc00 Mon Sep 17 00:00:00 2001 From: guoyao <1015105054@qq.com> Date: Sat, 27 Nov 2021 15:59:25 +0800 Subject: [PATCH] add ut for AggregateErrors Signed-off-by: guoyao <1015105054@qq.com> --- pkg/util/error_test.go | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pkg/util/error_test.go diff --git a/pkg/util/error_test.go b/pkg/util/error_test.go new file mode 100644 index 000000000..5675bd49c --- /dev/null +++ b/pkg/util/error_test.go @@ -0,0 +1,45 @@ +package util + +import ( + "fmt" + "reflect" + "testing" + + utilerrors "k8s.io/apimachinery/pkg/util/errors" +) + +func TestAggregateErrors(t *testing.T) { + err1 := fmt.Errorf("error1") + err2 := fmt.Errorf("error2") + channel := make(chan error, 2) + channel <- err1 + channel <- err2 + + tests := []struct { + name string + input <-chan error + expected error + }{ + { + name: "nil channel", + input: nil, + expected: nil, + }, + { + name: "channel has no error", + input: make(chan error, 1), + expected: nil, + }, + { + name: "channel has 2 errors", + input: channel, + expected: utilerrors.NewAggregate([]error{err1, err2}), + }, + } + + for _, test := range tests { + if got := AggregateErrors(test.input); !reflect.DeepEqual(got, test.expected) { + t.Errorf("Test %s failed: expected %v, but got %v", test.name, test.expected, got) + } + } +}