@@ -177,216 +177,168 @@ func TestSyncRelatedObjects(t *testing.T) {
177
177
178
178
//////////////////////////////////////////////////////////////////////////////////////////////
179
179
180
- // {
181
- // name: "sync referenced Secret up into a new namespace",
182
- // workspace: "sync-referenced-secret-up-namespace",
183
- // mainResource: crds.Crontab{
184
- // ObjectMeta: metav1.ObjectMeta{
185
- // Name: "my-crontab",
186
- // Namespace: "default",
187
- // },
188
- // Spec: crds.CrontabSpec{
189
- // CronSpec: "* * *",
190
- // Image: "ubuntu:latest",
191
- // },
192
- // },
193
- // relatedConfig: syncagentv1alpha1.RelatedResourceSpec{
194
- // Identifier: "credentials",
195
- // Origin: "service",
196
- // Kind: "Secret",
197
- // Object: syncagentv1alpha1.RelatedResourceObject{
198
- // RelatedResourceObjectSpec: syncagentv1alpha1.RelatedResourceObjectSpec{
199
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
200
- // Path: "metadata.name", // irrelevant
201
- // Regex: &syncagentv1alpha1.RegularExpression{
202
- // Replacement: "my-credentials",
203
- // },
204
- // },
205
- // },
206
- // },
207
- // Destination: syncagentv1alpha1.RelatedResourceDestination{
208
- // RelatedResourceDestinationSpec: syncagentv1alpha1.RelatedResourceDestinationSpec{
209
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
210
- // Path: "metadata.name", // irrelevant
211
- // Regex: &syncagentv1alpha1.RegularExpression{
212
- // Replacement: "my-credentials",
213
- // },
214
- // },
215
- // },
216
- // Namespace: &syncagentv1alpha1.RelatedResourceDestinationSpec{
217
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
218
- // Path: "metadata.name", // irrelevant
219
- // Regex: &syncagentv1alpha1.RegularExpression{
220
- // Replacement: "new-namespace",
221
- // },
222
- // },
223
- // },
224
- // },
225
- // },
226
- // sourceRelatedObject: corev1.Secret{
227
- // ObjectMeta: metav1.ObjectMeta{
228
- // Name: "my-credentials",
229
- // Namespace: "synced-default",
230
- // },
231
- // Data: map[string][]byte{
232
- // "password": []byte("hunter2"),
233
- // },
234
- // Type: corev1.SecretTypeOpaque,
235
- // },
236
-
237
- // expectedSyncedRelatedObject: corev1.Secret{
238
- // ObjectMeta: metav1.ObjectMeta{
239
- // Name: "my-credentials",
240
- // Namespace: "new-namespace",
241
- // },
242
- // Data: map[string][]byte{
243
- // "password": []byte("hunter2"),
244
- // },
245
- // Type: corev1.SecretTypeOpaque,
246
- // },
247
- // },
248
-
249
- // //////////////////////////////////////////////////////////////////////////////////////////////
250
-
251
- // {
252
- // name: "sync referenced Secret down into a new namespace",
253
- // workspace: "sync-referenced-secret-down-namespace",
254
- // mainResource: crds.Crontab{
255
- // ObjectMeta: metav1.ObjectMeta{
256
- // Name: "my-crontab",
257
- // Namespace: "default",
258
- // },
259
- // Spec: crds.CrontabSpec{
260
- // CronSpec: "* * *",
261
- // Image: "ubuntu:latest",
262
- // },
263
- // },
264
- // relatedConfig: syncagentv1alpha1.RelatedResourceSpec{
265
- // Identifier: "credentials",
266
- // Origin: "kcp",
267
- // Kind: "Secret",
268
- // Object: syncagentv1alpha1.RelatedResourceObject{
269
- // RelatedResourceObjectSpec: syncagentv1alpha1.RelatedResourceObjectSpec{
270
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
271
- // Path: "metadata.name", // irrelevant
272
- // Regex: &syncagentv1alpha1.RegularExpression{
273
- // Replacement: "my-credentials",
274
- // },
275
- // },
276
- // },
277
- // },
278
- // Destination: syncagentv1alpha1.RelatedResourceDestination{
279
- // RelatedResourceDestinationSpec: syncagentv1alpha1.RelatedResourceDestinationSpec{
280
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
281
- // Path: "metadata.name", // irrelevant
282
- // Regex: &syncagentv1alpha1.RegularExpression{
283
- // Replacement: "my-credentials",
284
- // },
285
- // },
286
- // },
287
- // Namespace: &syncagentv1alpha1.RelatedResourceDestinationSpec{
288
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
289
- // Path: "metadata.name", // irrelevant
290
- // Regex: &syncagentv1alpha1.RegularExpression{
291
- // Replacement: "new-namespace",
292
- // },
293
- // },
294
- // },
295
- // },
296
- // },
297
- // sourceRelatedObject: corev1.Secret{
298
- // ObjectMeta: metav1.ObjectMeta{
299
- // Name: "my-credentials",
300
- // Namespace: "default",
301
- // },
302
- // Data: map[string][]byte{
303
- // "password": []byte("hunter2"),
304
- // },
305
- // Type: corev1.SecretTypeOpaque,
306
- // },
307
-
308
- // expectedSyncedRelatedObject: corev1.Secret{
309
- // ObjectMeta: metav1.ObjectMeta{
310
- // Name: "my-credentials",
311
- // Namespace: "new-namespace",
312
- // },
313
- // Data: map[string][]byte{
314
- // "password": []byte("hunter2"),
315
- // },
316
- // Type: corev1.SecretTypeOpaque,
317
- // },
318
- // },
319
-
320
- // //////////////////////////////////////////////////////////////////////////////////////////////
321
-
322
- // {
323
- // name: "sync referenced Secret up from a foreign namespace",
324
- // workspace: "sync-referenced-secret-up-foreign-namespace",
325
- // mainResource: crds.Crontab{
326
- // ObjectMeta: metav1.ObjectMeta{
327
- // Name: "my-crontab",
328
- // Namespace: "default",
329
- // },
330
- // Spec: crds.CrontabSpec{
331
- // CronSpec: "* * *",
332
- // Image: "ubuntu:latest",
333
- // },
334
- // },
335
- // relatedConfig: syncagentv1alpha1.RelatedResourceSpec{
336
- // Identifier: "credentials",
337
- // Origin: "service",
338
- // Kind: "Secret",
339
- // Object: syncagentv1alpha1.RelatedResourceObject{
340
- // RelatedResourceObjectSpec: syncagentv1alpha1.RelatedResourceObjectSpec{
341
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
342
- // Path: "metadata.name", // irrelevant
343
- // Regex: &syncagentv1alpha1.RegularExpression{
344
- // Replacement: "my-credentials",
345
- // },
346
- // },
347
- // },
348
- // Namespace: &syncagentv1alpha1.RelatedResourceObjectSpec{
349
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
350
- // Path: "metadata.name", // irrelevant
351
- // Regex: &syncagentv1alpha1.RegularExpression{
352
- // Replacement: "other-namespace",
353
- // },
354
- // },
355
- // },
356
- // },
357
- // Destination: syncagentv1alpha1.RelatedResourceDestination{
358
- // RelatedResourceDestinationSpec: syncagentv1alpha1.RelatedResourceDestinationSpec{
359
- // Reference: &syncagentv1alpha1.RelatedResourceObjectReference{
360
- // Path: "metadata.name", // irrelevant
361
- // Regex: &syncagentv1alpha1.RegularExpression{
362
- // Replacement: "my-credentials",
363
- // },
364
- // },
365
- // },
366
- // },
367
- // },
368
- // sourceRelatedObject: corev1.Secret{
369
- // ObjectMeta: metav1.ObjectMeta{
370
- // Name: "my-credentials",
371
- // Namespace: "other-namespace",
372
- // },
373
- // Data: map[string][]byte{
374
- // "password": []byte("hunter2"),
375
- // },
376
- // Type: corev1.SecretTypeOpaque,
377
- // },
378
-
379
- // expectedSyncedRelatedObject: corev1.Secret{
380
- // ObjectMeta: metav1.ObjectMeta{
381
- // Name: "my-credentials",
382
- // Namespace: "default",
383
- // },
384
- // Data: map[string][]byte{
385
- // "password": []byte("hunter2"),
386
- // },
387
- // Type: corev1.SecretTypeOpaque,
388
- // },
389
- // },
180
+ {
181
+ name : "sync referenced Secret up into a new namespace" ,
182
+ workspace : "sync-referenced-secret-up-namespace" ,
183
+ mainResource : crds.Crontab {
184
+ ObjectMeta : metav1.ObjectMeta {
185
+ Name : "my-crontab" ,
186
+ Namespace : "default" ,
187
+ },
188
+ Spec : crds.CrontabSpec {
189
+ CronSpec : "* * *" ,
190
+ Image : "ubuntu:latest" ,
191
+ },
192
+ },
193
+ relatedConfig : syncagentv1alpha1.RelatedResourceSpec {
194
+ Identifier : "credentials" ,
195
+ Origin : "service" ,
196
+ Kind : "Secret" ,
197
+ Object : syncagentv1alpha1.RelatedResourceObject {
198
+ RelatedResourceObjectSpec : syncagentv1alpha1.RelatedResourceObjectSpec {
199
+ Template : & syncagentv1alpha1.TemplateExpression {
200
+ Template : "my-credentials" ,
201
+ },
202
+ },
203
+ Namespace : & syncagentv1alpha1.RelatedResourceObjectSpec {
204
+ Template : & syncagentv1alpha1.TemplateExpression {
205
+ Template : `{{ if eq .Side "kcp" }}new-namespace{{ else }}{{ .Object.metadata.namespace }}{{ end }}` ,
206
+ },
207
+ },
208
+ },
209
+ },
210
+ sourceRelatedObject : corev1.Secret {
211
+ ObjectMeta : metav1.ObjectMeta {
212
+ Name : "my-credentials" ,
213
+ Namespace : "synced-default" ,
214
+ },
215
+ Data : map [string ][]byte {
216
+ "password" : []byte ("hunter2" ),
217
+ },
218
+ Type : corev1 .SecretTypeOpaque ,
219
+ },
220
+
221
+ expectedSyncedRelatedObject : corev1.Secret {
222
+ ObjectMeta : metav1.ObjectMeta {
223
+ Name : "my-credentials" ,
224
+ Namespace : "new-namespace" ,
225
+ },
226
+ Data : map [string ][]byte {
227
+ "password" : []byte ("hunter2" ),
228
+ },
229
+ Type : corev1 .SecretTypeOpaque ,
230
+ },
231
+ },
232
+
233
+ //////////////////////////////////////////////////////////////////////////////////////////////
234
+
235
+ {
236
+ name : "sync referenced Secret down into a new namespace" ,
237
+ workspace : "sync-referenced-secret-down-namespace" ,
238
+ mainResource : crds.Crontab {
239
+ ObjectMeta : metav1.ObjectMeta {
240
+ Name : "my-crontab" ,
241
+ Namespace : "default" ,
242
+ },
243
+ Spec : crds.CrontabSpec {
244
+ CronSpec : "* * *" ,
245
+ Image : "ubuntu:latest" ,
246
+ },
247
+ },
248
+ relatedConfig : syncagentv1alpha1.RelatedResourceSpec {
249
+ Identifier : "credentials" ,
250
+ Origin : "kcp" ,
251
+ Kind : "Secret" ,
252
+ Object : syncagentv1alpha1.RelatedResourceObject {
253
+ RelatedResourceObjectSpec : syncagentv1alpha1.RelatedResourceObjectSpec {
254
+ Template : & syncagentv1alpha1.TemplateExpression {
255
+ Template : "my-credentials" ,
256
+ },
257
+ },
258
+ Namespace : & syncagentv1alpha1.RelatedResourceObjectSpec {
259
+ Template : & syncagentv1alpha1.TemplateExpression {
260
+ Template : `{{ if eq .Side "kcp" }}{{ .Object.metadata.namespace }}{{ else }}new-namespace{{ end }}` ,
261
+ },
262
+ },
263
+ },
264
+ },
265
+ sourceRelatedObject : corev1.Secret {
266
+ ObjectMeta : metav1.ObjectMeta {
267
+ Name : "my-credentials" ,
268
+ Namespace : "default" ,
269
+ },
270
+ Data : map [string ][]byte {
271
+ "password" : []byte ("hunter2" ),
272
+ },
273
+ Type : corev1 .SecretTypeOpaque ,
274
+ },
275
+
276
+ expectedSyncedRelatedObject : corev1.Secret {
277
+ ObjectMeta : metav1.ObjectMeta {
278
+ Name : "my-credentials" ,
279
+ Namespace : "new-namespace" ,
280
+ },
281
+ Data : map [string ][]byte {
282
+ "password" : []byte ("hunter2" ),
283
+ },
284
+ Type : corev1 .SecretTypeOpaque ,
285
+ },
286
+ },
287
+
288
+ //////////////////////////////////////////////////////////////////////////////////////////////
289
+
290
+ {
291
+ name : "sync referenced Secret up from a foreign namespace" ,
292
+ workspace : "sync-referenced-secret-up-foreign-namespace" ,
293
+ mainResource : crds.Crontab {
294
+ ObjectMeta : metav1.ObjectMeta {
295
+ Name : "my-crontab" ,
296
+ Namespace : "default" ,
297
+ },
298
+ Spec : crds.CrontabSpec {
299
+ CronSpec : "* * *" ,
300
+ Image : "ubuntu:latest" ,
301
+ },
302
+ },
303
+ relatedConfig : syncagentv1alpha1.RelatedResourceSpec {
304
+ Identifier : "credentials" ,
305
+ Origin : "service" ,
306
+ Kind : "Secret" ,
307
+ Object : syncagentv1alpha1.RelatedResourceObject {
308
+ RelatedResourceObjectSpec : syncagentv1alpha1.RelatedResourceObjectSpec {
309
+ Template : & syncagentv1alpha1.TemplateExpression {
310
+ Template : "my-credentials" ,
311
+ },
312
+ },
313
+ Namespace : & syncagentv1alpha1.RelatedResourceObjectSpec {
314
+ Template : & syncagentv1alpha1.TemplateExpression {
315
+ Template : `{{ if eq .Side "kcp" }}{{ .Object.metadata.namespace }}{{ else }}other-namespace{{ end }}` ,
316
+ },
317
+ },
318
+ },
319
+ },
320
+ sourceRelatedObject : corev1.Secret {
321
+ ObjectMeta : metav1.ObjectMeta {
322
+ Name : "my-credentials" ,
323
+ Namespace : "other-namespace" ,
324
+ },
325
+ Data : map [string ][]byte {
326
+ "password" : []byte ("hunter2" ),
327
+ },
328
+ Type : corev1 .SecretTypeOpaque ,
329
+ },
330
+
331
+ expectedSyncedRelatedObject : corev1.Secret {
332
+ ObjectMeta : metav1.ObjectMeta {
333
+ Name : "my-credentials" ,
334
+ Namespace : "default" ,
335
+ },
336
+ Data : map [string ][]byte {
337
+ "password" : []byte ("hunter2" ),
338
+ },
339
+ Type : corev1 .SecretTypeOpaque ,
340
+ },
341
+ },
390
342
391
343
//////////////////////////////////////////////////////////////////////////////////////////////
392
344
0 commit comments