@@ -32,6 +32,7 @@ func TestAccScalewayObjectBucket_Basic(t *testing.T) {
3232 bucketAms := sdkacctest .RandomWithPrefix ("test-acc-scaleway-object-bucket-ams" )
3333 bucketPar := sdkacctest .RandomWithPrefix ("test-acc-scaleway-object-bucket-par" )
3434 bucketLifecycle := sdkacctest .RandomWithPrefix ("test-acc-scaleway-object-bucket-lifecycle" )
35+ bucketObjectLock := sdkacctest .RandomWithPrefix ("test-acc-scaleway-object-bucket-lock" )
3536 resourceNameLifecycle := "scaleway_object_bucket.par-bucket-lifecycle"
3637 resource .ParallelTest (t , resource.TestCase {
3738 PreCheck : func () { testAccPreCheck (t ) },
@@ -325,6 +326,55 @@ func TestAccScalewayObjectBucket_Basic(t *testing.T) {
325326 resource .TestCheckResourceAttr (resourceNameLifecycle , "lifecycle_rule.0.abort_incomplete_multipart_upload_days" , "30" ),
326327 ),
327328 },
329+ {
330+ Config : fmt .Sprintf (`
331+ resource "scaleway_object_bucket" "object-locked-bucket"{
332+ name = "%s"
333+ region = "fr-par"
334+
335+ object_lock_enabled = true
336+ }
337+ ` , bucketObjectLock ),
338+ Check : resource .ComposeTestCheckFunc (
339+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "name" , bucketObjectLock ),
340+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "object_lock_enabled" , "true" ),
341+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "versioning.0.enabled" , "true" ),
342+ ),
343+ },
344+ {
345+ Config : fmt .Sprintf (`
346+ resource "scaleway_object_bucket" "object-locked-bucket"{
347+ name = "%s"
348+ region = "fr-par"
349+
350+ object_lock_enabled = true
351+
352+ versioning {
353+ enabled = true
354+ }
355+ }
356+ ` , bucketObjectLock ),
357+ Check : resource .ComposeTestCheckFunc (
358+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "name" , bucketObjectLock ),
359+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "object_lock_enabled" , "true" ),
360+ resource .TestCheckResourceAttr ("scaleway_object_bucket.object-locked-bucket" , "versioning.0.enabled" , "true" ),
361+ ),
362+ },
363+ {
364+ Config : fmt .Sprintf (`
365+ resource "scaleway_object_bucket" "object-locked-bucket"{
366+ name = "%s"
367+ region = "fr-par"
368+
369+ object_lock_enabled = true
370+
371+ versioning {
372+ enabled = false
373+ }
374+ }
375+ ` , bucketObjectLock ),
376+ ExpectError : regexp .MustCompile ("versioning must be enabled when object lock is enabled" ),
377+ },
328378 },
329379 })
330380}
0 commit comments