Skip to content

Commit cc62382

Browse files
authored
Merge pull request #3 from mbaldessari/tests
Add some tests
2 parents 465ab5c + 9275b2a commit cc62382

File tree

2 files changed

+177
-3
lines changed

2 files changed

+177
-3
lines changed

tests/golang_external_secrets_default_test.yaml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,30 @@ templates:
44
release:
55
name: release-test
66
tests:
7-
- it: Should output default values
7+
- it: Should output default values for the secret
88
asserts:
9-
- hasDocuments:
10-
count: 2
9+
- containsDocument:
10+
kind: Secret
11+
apiVersion: v1
12+
name: golang-external-secrets
13+
namespace: golang-external-secrets
14+
documentSelector:
15+
path: kind
16+
value: Secret
17+
- equal:
18+
path: metadata.annotations["kubernetes.io/service-account.name"]
19+
value: golang-external-secrets
20+
documentSelector:
21+
path: kind
22+
value: Secret
23+
24+
- it: Should output default values for the clusterrolebinding
25+
asserts:
26+
- containsDocument:
27+
kind: ClusterRoleBinding
28+
apiVersion: rbac.authorization.k8s.io/v1
29+
name: role-tokenreview-binding
30+
namespace: golang-external-secrets
31+
documentSelector:
32+
path: kind
33+
value: ClusterRoleBinding
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
suite: Test golang-external-secrets cluster secret store
2+
templates:
3+
- templates/vault/golang-external-secrets-hub-secretstore.yaml
4+
release:
5+
name: release-test
6+
tests:
7+
- it: should output nothing if .Value.global.secretStore is not "vault"
8+
set:
9+
global:
10+
secretStore:
11+
backend: "kubernetes"
12+
asserts:
13+
- hasDocuments:
14+
count: 0
15+
16+
- it: should output things if the backend is not set (we assume vault as a default)
17+
set:
18+
global:
19+
secretStore:
20+
backend: null
21+
asserts:
22+
- hasDocuments:
23+
count: 1
24+
- containsDocument:
25+
kind: ClusterSecretStore
26+
apiVersion: external-secrets.io/v1beta1
27+
name: vault-backend
28+
namespace: golang-external-secrets
29+
30+
- it: should output things if the backend is set to vault
31+
set:
32+
global:
33+
secretStore:
34+
backend: "vault"
35+
asserts:
36+
- hasDocuments:
37+
count: 1
38+
- containsDocument:
39+
kind: ClusterSecretStore
40+
apiVersion: external-secrets.io/v1beta1
41+
name: vault-backend
42+
namespace: golang-external-secrets
43+
44+
- it: should set the vault server to the hubClusterDomain
45+
set:
46+
global:
47+
hubClusterDomain: foo.bar.baz
48+
asserts:
49+
- equal:
50+
path: spec.provider.vault.server
51+
value: "https://vault-vault.foo.bar.baz"
52+
53+
- it: should set secretRef
54+
asserts:
55+
- equal:
56+
path: spec.provider.vault.auth.kubernetes.secretRef.name
57+
value: golang-external-secrets
58+
- equal:
59+
path: spec.provider.vault.auth.kubernetes.secretRef.namespace
60+
value: golang-external-secrets
61+
- equal:
62+
path: spec.provider.vault.auth.kubernetes.secretRef.key
63+
value: token
64+
65+
- it: should not set the caProvider when disabled
66+
set:
67+
golangExternalSecrets:
68+
caProvider:
69+
enabled: false
70+
asserts:
71+
- notExists:
72+
path: spec.provider.vault.caProvider
73+
74+
- it: should set the caProvider to the hostCluster when on the hub
75+
set:
76+
clusterGroup:
77+
isHubCluster: true
78+
golangExternalSecrets:
79+
caProvider:
80+
hostCluster:
81+
name: foo-bar-configmap
82+
key: foo-key
83+
namespace: foo
84+
asserts:
85+
- equal:
86+
path: spec.provider.vault.caProvider.type
87+
value: ConfigMap
88+
- equal:
89+
path: spec.provider.vault.caProvider.name
90+
value: foo-bar-configmap
91+
- equal:
92+
path: spec.provider.vault.caProvider.key
93+
value: foo-key
94+
- equal:
95+
path: spec.provider.vault.caProvider.namespace
96+
value: foo
97+
98+
- it: should set the caProvider to the clientCluster when not on the hub
99+
set:
100+
clusterGroup:
101+
isHubCluster: false
102+
golangExternalSecrets:
103+
caProvider:
104+
clientCluster:
105+
name: foo-bar-configmap
106+
key: foo-key
107+
namespace: foo
108+
asserts:
109+
- equal:
110+
path: spec.provider.vault.caProvider.type
111+
value: Secret
112+
- equal:
113+
path: spec.provider.vault.caProvider.name
114+
value: foo-bar-configmap
115+
- equal:
116+
path: spec.provider.vault.caProvider.key
117+
value: foo-key
118+
- equal:
119+
path: spec.provider.vault.caProvider.namespace
120+
value: foo
121+
122+
- it: should set the kubernetes auth when on the hub
123+
set:
124+
clusterGroup:
125+
isHubCluster: true
126+
golangExternalSecrets:
127+
rbac:
128+
rolename: "hub-rolename"
129+
vault:
130+
mountPath: "hub-mount"
131+
asserts:
132+
- equal:
133+
path: spec.provider.vault.auth.kubernetes.mountPath
134+
value: hub-mount
135+
- equal:
136+
path: spec.provider.vault.auth.kubernetes.role
137+
value: hub-rolename
138+
139+
- it: should set the kubernetes auth when not on the hub
140+
set:
141+
global:
142+
clusterDomain: foo.bar
143+
clusterGroup:
144+
isHubCluster: false
145+
asserts:
146+
- equal:
147+
path: spec.provider.vault.auth.kubernetes.mountPath
148+
value: foo.bar
149+
- equal:
150+
path: spec.provider.vault.auth.kubernetes.role
151+
value: foo.bar-role

0 commit comments

Comments
 (0)