/
secret_test.go
89 lines (75 loc) · 2.23 KB
/
secret_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package utils_test
import (
"context"
utils "github.com/cedrichopf/operator-utils"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"sigs.k8s.io/controller-runtime/pkg/client"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
const (
secretName = "sample-secret"
)
var _ = Describe("Reconcile Secret", func() {
AfterEach(func() {
err := k8sClient.DeleteAllOf(context.Background(), &corev1.Secret{}, client.InNamespace(namespace))
Expect(err).ToNot(HaveOccurred())
})
Context("when owner is valid", func() {
It("creates a new Secret", func() {
secret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
},
}
result, err := utils.ReconcileSecret(context.Background(), secret, owner, k8sClient, testEnv.Scheme)
Expect(err).ToNot(HaveOccurred())
Expect(result.Updated).To(Equal(true))
})
It("updates an outdated Secret", func() {
secret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
},
StringData: map[string]string{
"sample": "data",
},
}
result, err := utils.ReconcileSecret(context.Background(), secret, owner, k8sClient, testEnv.Scheme)
Expect(err).ToNot(HaveOccurred())
Expect(result.Updated).To(Equal(true))
updatedSecret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
},
StringData: map[string]string{
"sample": "newData",
},
}
result, err = utils.ReconcileSecret(context.Background(), updatedSecret, owner, k8sClient, testEnv.Scheme)
Expect(err).ToNot(HaveOccurred())
Expect(result.Updated).To(Equal(true))
})
})
Context("when owner is invalid", func() {
It("failes to create a new Secret", func() {
secret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: secretName,
Namespace: namespace,
},
}
invalidOwner := &metav1.ObjectMeta{
Name: "invalidOwner",
Namespace: namespace,
}
result, err := utils.ReconcileSecret(context.Background(), secret, invalidOwner, k8sClient, testEnv.Scheme)
Expect(err).To(HaveOccurred())
Expect(result).To(Equal(utils.ReconcileResult{}))
})
})
})