Skip to content

Commit 737ad7a

Browse files
committed
Add basic tests
1 parent 92ec885 commit 737ad7a

File tree

2 files changed

+64
-2
lines changed

2 files changed

+64
-2
lines changed

config/local.yaml

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ endpoint: http://[::1]:8081
88
impersonate: system:serviceaccount:openshift-insights:gather
99
ocm:
1010
endpoint: https://jsonplaceholder.typicode.com/albums?id=1
11-
interval: "30s"
12-
disabled: false
11+
interval: "6h"
1312
gather:
1413
- ALL

pkg/ocm/ocm_test.go

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package ocm
2+
3+
import (
4+
"context"
5+
"testing"
6+
7+
"github.com/stretchr/testify/assert"
8+
v1 "k8s.io/api/core/v1"
9+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
10+
kubefake "k8s.io/client-go/kubernetes/fake"
11+
)
12+
13+
var (
14+
tlsSecretCrt = "tls.crt"
15+
tlsSecretKey = "tls.key"
16+
secTestData = "secret testing data"
17+
)
18+
19+
func Test_OCMController_SecretIsCreated(t *testing.T) {
20+
kube := kubefake.NewSimpleClientset()
21+
coreClient := kube.CoreV1()
22+
ocmController := New(context.TODO(), coreClient, nil, nil)
23+
24+
err := ocmController.checkSecret([]byte(secTestData))
25+
assert.NoError(t, err, "failed to check the secret")
26+
27+
testSecret, err := coreClient.Secrets(targetNamespaceName).Get(context.Background(), secretName, metav1.GetOptions{})
28+
assert.NoError(t, err, "can't get secret")
29+
assert.Contains(t, testSecret.Data, tlsSecretKey, "can't find %s in the %s secret data", tlsSecretKey, secretName)
30+
assert.Contains(t, testSecret.Data, tlsSecretCrt, "can't find %s in the %s secret data", tlsSecretCrt, secretName)
31+
assert.Equal(t, secTestData, string(testSecret.Data[tlsSecretKey]), "unexpected data in %s secret", secretName)
32+
assert.Equal(t, secTestData, string(testSecret.Data[tlsSecretCrt]), "unexpected data in %s secret", secretName)
33+
}
34+
35+
func Test_OCMController_SecretIsUpdated(t *testing.T) {
36+
kube := kubefake.NewSimpleClientset()
37+
coreClient := kube.CoreV1()
38+
39+
existingSec := &v1.Secret{
40+
ObjectMeta: metav1.ObjectMeta{
41+
Name: secretName,
42+
},
43+
Type: v1.SecretTypeTLS,
44+
Data: map[string][]byte{
45+
v1.TLSCertKey: []byte(secTestData),
46+
v1.TLSPrivateKeyKey: []byte(secTestData),
47+
},
48+
}
49+
_, err := coreClient.Secrets(targetNamespaceName).Create(context.Background(), existingSec, metav1.CreateOptions{})
50+
assert.NoError(t, err)
51+
ocmController := New(context.TODO(), coreClient, nil, nil)
52+
53+
updatedTestData := "new secret testing data"
54+
err = ocmController.checkSecret([]byte(updatedTestData))
55+
assert.NoError(t, err, "failed to check the secret")
56+
57+
testSecret, err := coreClient.Secrets(targetNamespaceName).Get(context.Background(), secretName, metav1.GetOptions{})
58+
assert.NoError(t, err, "can't get secret")
59+
assert.Contains(t, testSecret.Data, tlsSecretKey, "can't find %s in the %s secret data", tlsSecretKey, secretName)
60+
assert.Contains(t, testSecret.Data, tlsSecretCrt, "can't find %s in the %s secret data", tlsSecretCrt, secretName)
61+
assert.Equal(t, updatedTestData, string(testSecret.Data[tlsSecretKey]), "unexpected data in %s secret", secretName)
62+
assert.Equal(t, updatedTestData, string(testSecret.Data[tlsSecretCrt]), "unexpected data in %s secret", secretName)
63+
}

0 commit comments

Comments
 (0)