From e3409dbe243d22bfa8a22d780a48d28f0b82a806 Mon Sep 17 00:00:00 2001 From: hontarau Date: Thu, 28 Mar 2024 11:20:14 +0100 Subject: [PATCH] Add labels builder tests --- .../controller/factory/labels_builder_test.go | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 internal/controller/factory/labels_builder_test.go diff --git a/internal/controller/factory/labels_builder_test.go b/internal/controller/factory/labels_builder_test.go new file mode 100644 index 00000000..2185f983 --- /dev/null +++ b/internal/controller/factory/labels_builder_test.go @@ -0,0 +1,40 @@ +package factory + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" +) + +var _ = Describe("Labels builder", func() { + Context("When ensuring a labels builder", func() { + It("constructor returns empty initialized map", func() { + builder := NewLabelsBuilder() + Expect(builder).To(Equal(make(LabelsBuilder))) + }) + It("WithName sets correct key and value", func() { + builder := NewLabelsBuilder() + builder.WithName() + Expect(builder["app.kubernetes.io/name"]).To(Equal("etcd")) + }) + It("WithManagedBy sets correct key and value", func() { + builder := NewLabelsBuilder() + builder.WithManagedBy() + Expect(builder["app.kubernetes.io/managed-by"]).To(Equal("etcd-operator")) + }) + It("WithInstance sets correct key and value", func() { + builder := NewLabelsBuilder() + builder.WithInstance("local") + Expect(builder["app.kubernetes.io/instance"]).To(Equal("local")) + }) + It("Chaining methods builds correct map", func() { + builder := NewLabelsBuilder() + builder.WithName().WithManagedBy().WithInstance("local") + expected := map[string]string{ + "app.kubernetes.io/name": "etcd", + "app.kubernetes.io/instance": "local", + "app.kubernetes.io/managed-by": "etcd-operator", + } + Expect(builder).To(Equal(LabelsBuilder(expected))) + }) + }) +})