Skip to content

Commit 97f97b2

Browse files
WIP: unit tests
Signed-off-by: Rashmi Gottipati <[email protected]>
1 parent 5e5ea56 commit 97f97b2

File tree

2 files changed

+52
-2
lines changed

2 files changed

+52
-2
lines changed

pkg/finalizer/finalizer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
2222
)
2323

24-
func NewFinalizers() (Finalizers, error) {
25-
return finalizers(map[string]Finalizer{}), nil
24+
func NewFinalizers() Finalizers {
25+
return finalizers(map[string]Finalizer{})
2626
}
2727

2828
func (f finalizers) Register(key string, finalizer Finalizer) error {

pkg/finalizer/finalizer_test.go

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package finalizer
2+
3+
import (
4+
"context"
5+
"testing"
6+
7+
. "github.com/onsi/ginkgo"
8+
. "github.com/onsi/gomega"
9+
corev1 "k8s.io/api/core/v1"
10+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
11+
"sigs.k8s.io/controller-runtime/pkg/client"
12+
"sigs.k8s.io/controller-runtime/pkg/envtest/printer"
13+
)
14+
15+
type mockFinalizer struct{}
16+
17+
func (f mockFinalizer) Finalize(context.Context, client.Object) (needsUpdate bool, err error) {
18+
return true, nil
19+
}
20+
func TestFinalizer(t *testing.T) {
21+
RegisterFailHandler(Fail)
22+
suiteName := "Finalizer Suite"
23+
RunSpecsWithDefaultAndCustomReporters(t, suiteName, []Reporter{printer.NewlineReporter{}, printer.NewProwReporter(suiteName)})
24+
}
25+
26+
var _ = Describe("TestFinalizer", func() {
27+
Describe("Finalizer", func() {
28+
It("should return no error", func() {
29+
var err error
30+
now := metav1.Now()
31+
pod := &corev1.Pod{
32+
ObjectMeta: metav1.ObjectMeta{
33+
Finalizers: []string{"finalizers.sigs.k8s.io/testfinalizer"},
34+
DeletionTimestamp: &now,
35+
},
36+
}
37+
38+
finalizers := NewFinalizers()
39+
40+
f := mockFinalizer{}
41+
42+
err = finalizers.Register("finalizers.sigs.k8s.io/testfinalizer", f)
43+
Expect(err).To(BeNil())
44+
45+
ret, err := finalizers.Finalize(context.TODO(), pod)
46+
Expect(err).To(BeNil())
47+
Expect(ret).To(BeTrue())
48+
})
49+
})
50+
})

0 commit comments

Comments
 (0)