Skip to content

Commit 47e42e1

Browse files
committed
🌱s3: add tests for S3Bucket.BestEffortDeleteObjects
1 parent 7cbec75 commit 47e42e1

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

pkg/cloud/services/s3/s3_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,18 @@ func TestDeleteObject(t *testing.T) {
738738
t.Fatalf("Unexpected error, got: %v", err)
739739
}
740740
})
741+
742+
t.Run("object_access_denied_and_BestEffortDeleteObjects_is_on", func(t *testing.T) {
743+
t.Parallel()
744+
745+
svc, s3Mock := testService(t, &testServiceInput{Bucket: &infrav1.S3Bucket{BestEffortDeleteObjects: aws.Bool(true)}})
746+
s3Mock.EXPECT().HeadObject(gomock.Any()).Return(nil, nil)
747+
s3Mock.EXPECT().DeleteObject(gomock.Any()).Return(nil, awserr.New("AccessDenied", "Access Denied", nil))
748+
749+
if err := svc.Delete(machineScope); err != nil {
750+
t.Fatalf("Unexpected error, got: %v", err)
751+
}
752+
})
741753
})
742754

743755
t.Run("returns_error_when", func(t *testing.T) {
@@ -793,6 +805,27 @@ func TestDeleteObject(t *testing.T) {
793805
t.Fatalf("Expected error")
794806
}
795807
})
808+
809+
t.Run("object_access_denied_and_BestEffortDeleteObjects_is_off", func(t *testing.T) {
810+
t.Parallel()
811+
812+
svc, s3Mock := testService(t, &testServiceInput{Bucket: &infrav1.S3Bucket{}})
813+
s3Mock.EXPECT().HeadObject(gomock.Any()).Return(nil, nil)
814+
s3Mock.EXPECT().DeleteObject(gomock.Any()).Return(nil, awserr.New("AccessDenied", "Access Denied", nil))
815+
816+
machineScope := &scope.MachineScope{
817+
Machine: &clusterv1.Machine{},
818+
AWSMachine: &infrav1.AWSMachine{
819+
ObjectMeta: metav1.ObjectMeta{
820+
Name: nodeName,
821+
},
822+
},
823+
}
824+
825+
if err := svc.Delete(machineScope); err == nil {
826+
t.Fatalf("Expected error")
827+
}
828+
})
796829
})
797830

798831
t.Run("is_idempotent", func(t *testing.T) {

0 commit comments

Comments
 (0)