Skip to content

Commit c9f307f

Browse files
committed
test(managedhandler): vendor neutral test data
On-behalf-of: @SAP [email protected] Signed-off-by: Christopher Junk <[email protected]>
1 parent 611aba8 commit c9f307f

File tree

2 files changed

+94
-96
lines changed

2 files changed

+94
-96
lines changed

internal/orchestrator/managedhandler_test.go

Lines changed: 88 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -21,51 +21,51 @@ import (
2121

2222
func TestGetManagedResources(t *testing.T) {
2323
// we define a couple of GVKs to generate CRDs and resources for our test cases
24-
subaccountGVK := schema.GroupVersionKind{
25-
Group: "account.btp.sap.crossplane.io",
24+
k8sObjectGVK := schema.GroupVersionKind{
25+
Group: "kubernetes.m.crossplane.io",
2626
Version: "v1alpha1",
27-
Kind: "Subaccount",
27+
Kind: "Object",
2828
}
29-
entitlementGVK := schema.GroupVersionKind{
30-
Group: "account.btp.sap.crossplane.io",
29+
k8sObjectCollectionGVK := schema.GroupVersionKind{
30+
Group: "kubernetes.m.crossplane.io",
3131
Version: "v1alpha1",
32-
Kind: "Entitlement",
32+
Kind: "ObservedObjectCollection",
3333
}
34-
kubernetesGVK := schema.GroupVersionKind{
35-
Group: "kubernetes.m.crossplane.io",
34+
nopResourceGVK := schema.GroupVersionKind{
35+
Group: "nop.crossplane.io",
3636
Version: "v1alpha1",
37-
Kind: "Object",
37+
Kind: "NopResource",
3838
}
39-
bucketGVK := schema.GroupVersionKind{
40-
Group: "s3.aws.m.upbound.io",
39+
helmReleaseGVK := schema.GroupVersionKind{
40+
Group: "helm.m.crossplane.io",
4141
Version: "v1beta1",
42-
Kind: "Bucket",
42+
Kind: "Release",
4343
}
4444

4545
const (
46-
subaccounts = "subaccounts"
47-
entitlements = "entitlements"
48-
k8sObjects = "kubernetes"
49-
buckets = "bucket"
46+
k8sObjects = "k8s-object"
47+
k8sObjectCollections = "k8s-object-collection"
48+
nopResources = "nop"
49+
helmReleases = "helm"
5050
)
5151

5252
// and a couple of fixed cluster resources
5353
resourceFixture := map[string][]string{
54-
subaccounts: {
55-
fakeResource(subaccountGVK),
56-
fakeResource(subaccountGVK),
54+
k8sObjects: {
55+
fakeResource(k8sObjectGVK),
56+
fakeResource(k8sObjectGVK),
5757
},
58-
entitlements: {
59-
fakeResource(entitlementGVK),
60-
fakeResource(entitlementGVK),
58+
k8sObjectCollections: {
59+
fakeResource(k8sObjectCollectionGVK),
60+
fakeResource(k8sObjectCollectionGVK),
6161
},
62-
k8sObjects: {
63-
fakeResource(kubernetesGVK),
64-
fakeResource(kubernetesGVK),
62+
nopResources: {
63+
fakeResource(nopResourceGVK),
64+
fakeResource(nopResourceGVK),
6565
},
66-
buckets: {
67-
fakeResource(bucketGVK),
68-
fakeResource(bucketGVK),
66+
helmReleases: {
67+
fakeResource(helmReleaseGVK),
68+
fakeResource(helmReleaseGVK),
6969
},
7070
}
7171

@@ -78,127 +78,127 @@ func TestGetManagedResources(t *testing.T) {
7878
}{
7979
{
8080
name: "fully qualified target spec",
81-
filter: subaccountGVK,
81+
filter: k8sObjectGVK,
8282
clusterCRDs: []string{
83-
managedAndServedCRD(subaccountGVK),
84-
managedAndServedCRD(entitlementGVK),
85-
managedAndServedCRD(kubernetesGVK),
86-
managedAndServedCRD(bucketGVK),
83+
managedAndServedCRD(k8sObjectGVK),
84+
managedAndServedCRD(k8sObjectCollectionGVK),
85+
managedAndServedCRD(nopResourceGVK),
86+
managedAndServedCRD(helmReleaseGVK),
8787
},
8888
clusterResources: slices.Concat(
89-
resourceFixture[subaccounts],
90-
resourceFixture[entitlements],
9189
resourceFixture[k8sObjects],
92-
resourceFixture[buckets],
90+
resourceFixture[k8sObjectCollections],
91+
resourceFixture[nopResources],
92+
resourceFixture[helmReleases],
9393
),
94-
wantResources: resourceFixture[subaccounts],
94+
wantResources: resourceFixture[k8sObjects],
9595
},
9696
{
9797
name: "group version target",
9898
filter: schema.GroupVersionKind{
99-
Group: subaccountGVK.Group,
100-
Version: subaccountGVK.Version,
99+
Group: k8sObjectGVK.Group,
100+
Version: k8sObjectGVK.Version,
101101
},
102102
clusterCRDs: []string{
103-
managedAndServedCRD(subaccountGVK),
104-
managedAndServedCRD(entitlementGVK),
105-
managedAndServedCRD(kubernetesGVK),
106-
managedAndServedCRD(bucketGVK),
103+
managedAndServedCRD(k8sObjectGVK),
104+
managedAndServedCRD(k8sObjectCollectionGVK),
105+
managedAndServedCRD(nopResourceGVK),
106+
managedAndServedCRD(helmReleaseGVK),
107107
},
108108
clusterResources: slices.Concat(
109-
resourceFixture[subaccounts],
110-
resourceFixture[entitlements],
111109
resourceFixture[k8sObjects],
112-
resourceFixture[buckets],
110+
resourceFixture[k8sObjectCollections],
111+
resourceFixture[nopResources],
112+
resourceFixture[helmReleases],
113113
),
114114
wantResources: slices.Concat(
115-
resourceFixture[subaccounts],
116-
resourceFixture[entitlements],
115+
resourceFixture[k8sObjects],
116+
resourceFixture[k8sObjectCollections],
117117
),
118118
},
119119
{
120120
name: "version target",
121121
filter: schema.GroupVersionKind{
122-
Version: subaccountGVK.Version,
122+
Version: k8sObjectGVK.Version,
123123
},
124124
clusterCRDs: []string{
125-
managedAndServedCRD(subaccountGVK),
126-
managedAndServedCRD(entitlementGVK),
127-
managedAndServedCRD(kubernetesGVK),
128-
managedAndServedCRD(bucketGVK),
125+
managedAndServedCRD(k8sObjectGVK),
126+
managedAndServedCRD(k8sObjectCollectionGVK),
127+
managedAndServedCRD(nopResourceGVK),
128+
managedAndServedCRD(helmReleaseGVK),
129129
},
130130
clusterResources: slices.Concat(
131-
resourceFixture[subaccounts],
132-
resourceFixture[entitlements],
133131
resourceFixture[k8sObjects],
134-
resourceFixture[buckets],
132+
resourceFixture[k8sObjectCollections],
133+
resourceFixture[nopResources],
134+
resourceFixture[helmReleases],
135135
),
136136
wantResources: slices.Concat(
137-
resourceFixture[subaccounts],
138-
resourceFixture[entitlements],
139137
resourceFixture[k8sObjects],
138+
resourceFixture[k8sObjectCollections],
139+
resourceFixture[nopResources],
140140
),
141141
},
142142
{
143143
name: "unqualified target",
144144
filter: schema.GroupVersionKind{},
145145
clusterCRDs: []string{
146-
managedAndServedCRD(subaccountGVK),
147-
managedAndServedCRD(entitlementGVK),
148-
managedAndServedCRD(kubernetesGVK),
149-
managedAndServedCRD(bucketGVK),
146+
managedAndServedCRD(k8sObjectGVK),
147+
managedAndServedCRD(k8sObjectCollectionGVK),
148+
managedAndServedCRD(nopResourceGVK),
149+
managedAndServedCRD(helmReleaseGVK),
150150
},
151151
clusterResources: slices.Concat(
152-
resourceFixture[subaccounts],
153-
resourceFixture[entitlements],
154152
resourceFixture[k8sObjects],
155-
resourceFixture[buckets],
153+
resourceFixture[k8sObjectCollections],
154+
resourceFixture[nopResources],
155+
resourceFixture[helmReleases],
156156
),
157157
wantResources: slices.Concat(
158-
resourceFixture[subaccounts],
159-
resourceFixture[entitlements],
160158
resourceFixture[k8sObjects],
161-
resourceFixture[buckets],
159+
resourceFixture[k8sObjectCollections],
160+
resourceFixture[nopResources],
161+
resourceFixture[helmReleases],
162162
),
163163
},
164164
{
165165
name: "unmanaged custom resources get filtered out",
166166
filter: schema.GroupVersionKind{},
167167
clusterCRDs: []string{
168-
unmanagedCRD(subaccountGVK),
169-
managedAndServedCRD(entitlementGVK),
170-
unmanagedCRD(kubernetesGVK),
171-
managedAndServedCRD(bucketGVK),
168+
unmanagedCRD(k8sObjectGVK),
169+
managedAndServedCRD(k8sObjectCollectionGVK),
170+
unmanagedCRD(nopResourceGVK),
171+
managedAndServedCRD(helmReleaseGVK),
172172
},
173173
clusterResources: slices.Concat(
174-
resourceFixture[subaccounts],
175-
resourceFixture[entitlements],
176174
resourceFixture[k8sObjects],
177-
resourceFixture[buckets],
175+
resourceFixture[k8sObjectCollections],
176+
resourceFixture[nopResources],
177+
resourceFixture[helmReleases],
178178
),
179179
wantResources: slices.Concat(
180-
resourceFixture[entitlements],
181-
resourceFixture[buckets],
180+
resourceFixture[k8sObjectCollections],
181+
resourceFixture[helmReleases],
182182
),
183183
},
184184
{
185185
name: "unserved custom resources are not retrievable",
186186
filter: schema.GroupVersionKind{},
187187
clusterCRDs: []string{
188-
unservedCRD(subaccountGVK),
189-
managedAndServedCRD(entitlementGVK),
190-
managedAndServedCRD(kubernetesGVK),
191-
unservedCRD(bucketGVK),
188+
unservedCRD(k8sObjectGVK),
189+
managedAndServedCRD(k8sObjectCollectionGVK),
190+
managedAndServedCRD(nopResourceGVK),
191+
unservedCRD(helmReleaseGVK),
192192
},
193193
clusterResources: slices.Concat(
194-
resourceFixture[subaccounts],
195-
resourceFixture[entitlements],
196194
resourceFixture[k8sObjects],
197-
resourceFixture[buckets],
195+
resourceFixture[k8sObjectCollections],
196+
resourceFixture[nopResources],
197+
resourceFixture[helmReleases],
198198
),
199199
wantResources: slices.Concat(
200-
resourceFixture[entitlements],
201-
resourceFixture[k8sObjects],
200+
resourceFixture[k8sObjectCollections],
201+
resourceFixture[nopResources],
202202
),
203203
},
204204
}
@@ -340,13 +340,11 @@ func unmanagedCRD(gvk schema.GroupVersionKind) string {
340340
}
341341

342342
func fakeCRDTemplate(gvk schema.GroupVersionKind, managed bool, served bool) string {
343-
categories := `
344-
- sap`
343+
categories := "[]"
345344
if managed {
346345
categories = `
347346
- crossplane
348-
- managed
349-
- sap`
347+
- managed`
350348
}
351349
return fmt.Sprintf(`apiVersion: apiextensions.k8s.io/v1
352350
kind: CustomResourceDefinition

internal/orchestrator/projectionhelper_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ import (
88
)
99

1010
const subaccountCR = `
11-
apiVersion: account.btp.sap.crossplane.io/v1alpha1
12-
kind: Subaccount
11+
apiVersion: nop.crossplane.io/v1alpha1
12+
kind: NopResource
1313
metadata:
1414
annotations:
15-
crossplane.io/external-name: test-subaccount
16-
name: test-subaccount
15+
crossplane.io/external-name: ext-example
16+
name: example
1717
spec:
1818
deletionPolicy: Delete
1919
status:
@@ -42,7 +42,7 @@ func TestNestedPrimitiveValue(t *testing.T) {
4242
name: "top level value retrieval",
4343
resourceYaml: subaccountCR,
4444
path: "kind",
45-
wantValue: "Subaccount",
45+
wantValue: "NopResource",
4646
wantFound: true,
4747
wantError: false,
4848
},
@@ -58,7 +58,7 @@ func TestNestedPrimitiveValue(t *testing.T) {
5858
name: "nested value retrieval with escaped name selector",
5959
resourceYaml: subaccountCR,
6060
path: "metadata.annotations.crossplane\\.io/external-name",
61-
wantValue: "test-subaccount",
61+
wantValue: "ext-example",
6262
wantFound: true,
6363
wantError: false,
6464
},

0 commit comments

Comments
 (0)