Skip to content

Commit 2577924

Browse files
darkowlzzhiddeco
authored andcommitted
Add more reconcileMinioSource test cases
Signed-off-by: Sunny <[email protected]>
1 parent c79a55b commit 2577924

File tree

2 files changed

+84
-4
lines changed

2 files changed

+84
-4
lines changed

controllers/bucket_controller.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,14 @@ func (r *BucketReconciler) reconcileStorage(ctx context.Context, obj *sourcev1.B
263263
//
264264
// The caller should assume a failure if an error is returned, or the Result is zero.
265265
func (r *BucketReconciler) reconcileSource(ctx context.Context, obj *sourcev1.Bucket, artifact *sourcev1.Artifact, dir string) (ctrl.Result, error) {
266-
var secret corev1.Secret
266+
var secret *corev1.Secret
267267
if obj.Spec.SecretRef != nil {
268268
secretName := types.NamespacedName{
269269
Namespace: obj.GetNamespace(),
270270
Name: obj.Spec.SecretRef.Name,
271271
}
272-
if err := r.Get(ctx, secretName, &secret); err != nil {
272+
secret = &corev1.Secret{}
273+
if err := r.Get(ctx, secretName, secret); err != nil {
273274
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, sourcev1.AuthenticationFailedReason,
274275
"Failed to get secret '%s': %s", secretName.String(), err.Error())
275276
r.Eventf(obj, corev1.EventTypeWarning, sourcev1.AuthenticationFailedReason,
@@ -281,9 +282,9 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, obj *sourcev1.Bu
281282

282283
switch obj.Spec.Provider {
283284
case sourcev1.GoogleBucketProvider:
284-
return r.reconcileGCPSource(ctx, obj, artifact, &secret, dir)
285+
return r.reconcileGCPSource(ctx, obj, artifact, secret, dir)
285286
default:
286-
return r.reconcileMinioSource(ctx, obj, artifact, &secret, dir)
287+
return r.reconcileMinioSource(ctx, obj, artifact, secret, dir)
287288
}
288289
}
289290

controllers/bucket_controller_test.go

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,85 @@ func TestBucketReconciler_reconcileMinioSource(t *testing.T) {
382382
*conditions.TrueCondition(sourcev1.ArtifactOutdatedCondition, "NewRevision", "New upstream revision '94992ae8fb8300723e970e304ea3414266cb414e364ba3f570bb09069f883100'"),
383383
},
384384
},
385+
{
386+
name: "spec.ignore overrides .sourceignore",
387+
bucketName: "dummy",
388+
beforeFunc: func(obj *sourcev1.Bucket) {
389+
ignore := "included/file.txt"
390+
obj.Spec.Ignore = &ignore
391+
},
392+
bucketObjects: []*s3MockObject{
393+
{
394+
Key: ".sourceignore",
395+
Content: []byte("ignored/file.txt"),
396+
ContentType: "text/plain",
397+
LastModified: time.Now(),
398+
},
399+
{
400+
Key: "ignored/file.txt",
401+
Content: []byte("ignored/file.txt"),
402+
ContentType: "text/plain",
403+
LastModified: time.Now(),
404+
},
405+
{
406+
Key: "included/file.txt",
407+
Content: []byte("included/file.txt"),
408+
ContentType: "text/plain",
409+
LastModified: time.Now(),
410+
},
411+
},
412+
assertArtifact: sourcev1.Artifact{
413+
Path: "bucket/test-bucket/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.tar.gz",
414+
Revision: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
415+
},
416+
assertConditions: []metav1.Condition{
417+
*conditions.TrueCondition(sourcev1.ArtifactOutdatedCondition, "NewRevision", "New upstream revision 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'"),
418+
},
419+
},
420+
{
421+
name: "up-to-date artifact",
422+
bucketName: "dummy",
423+
beforeFunc: func(obj *sourcev1.Bucket) {
424+
obj.Status.Artifact = &sourcev1.Artifact{
425+
Revision: "f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8",
426+
}
427+
},
428+
bucketObjects: []*s3MockObject{
429+
{
430+
Key: "test.txt",
431+
Content: []byte("test"),
432+
ContentType: "text/plain",
433+
LastModified: time.Now(),
434+
},
435+
},
436+
assertArtifact: sourcev1.Artifact{
437+
Path: "bucket/test-bucket/f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8.tar.gz",
438+
Revision: "f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8",
439+
},
440+
assertConditions: []metav1.Condition{},
441+
},
442+
{
443+
name: "Removes FetchFailedCondition after reconciling source",
444+
bucketName: "dummy",
445+
beforeFunc: func(obj *sourcev1.Bucket) {
446+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, sourcev1.BucketOperationFailedReason, "Failed to read test file")
447+
},
448+
bucketObjects: []*s3MockObject{
449+
{
450+
Key: "test.txt",
451+
Content: []byte("test"),
452+
ContentType: "text/plain",
453+
LastModified: time.Now(),
454+
},
455+
},
456+
assertArtifact: sourcev1.Artifact{
457+
Path: "bucket/test-bucket/f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8.tar.gz",
458+
Revision: "f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8",
459+
},
460+
assertConditions: []metav1.Condition{
461+
*conditions.TrueCondition(sourcev1.ArtifactOutdatedCondition, "NewRevision", "New upstream revision 'f0467900d3cede8323f3e61a1467f7cd370d1c0d942ff990a1a7be1eb1a231e8'"),
462+
},
463+
},
385464
}
386465
for _, tt := range tests {
387466
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)