@@ -2,6 +2,7 @@ package scaleway
2
2
3
3
import (
4
4
"fmt"
5
+ "regexp"
5
6
"testing"
6
7
7
8
sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest"
@@ -11,7 +12,7 @@ import (
11
12
func TestAccScalewayObjectBucketACL_Basic (t * testing.T ) {
12
13
tt := NewTestTools (t )
13
14
defer tt .Cleanup ()
14
- testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scaleway -object-acl-basic" )
15
+ testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scw -object-acl-basic" )
15
16
16
17
resource .Test (t , resource.TestCase {
17
18
PreCheck : func () { testAccPreCheck (t ) },
@@ -22,16 +23,16 @@ func TestAccScalewayObjectBucketACL_Basic(t *testing.T) {
22
23
Config : fmt .Sprintf (`
23
24
resource "scaleway_object_bucket" "main" {
24
25
name = "%s"
25
- region = "nl-ams "
26
+ region = "%s "
26
27
}
27
28
28
29
resource "scaleway_object_bucket_acl" "main" {
29
- bucket = scaleway_object_bucket.main.name
30
+ bucket = scaleway_object_bucket.main.id
30
31
acl = "private"
31
- region = "nl-ams"
32
32
}
33
- ` , testBucketName ),
33
+ ` , testBucketName , objectTestsMainRegion ),
34
34
Check : resource .ComposeTestCheckFunc (
35
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
35
36
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
36
37
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "acl" , "private" ),
37
38
),
@@ -40,16 +41,16 @@ func TestAccScalewayObjectBucketACL_Basic(t *testing.T) {
40
41
Config : fmt .Sprintf (`
41
42
resource "scaleway_object_bucket" "main" {
42
43
name = "%s"
43
- region = "nl-ams "
44
+ region = "%s "
44
45
}
45
46
46
47
resource "scaleway_object_bucket_acl" "main" {
47
- bucket = scaleway_object_bucket.main.name
48
+ bucket = scaleway_object_bucket.main.id
48
49
acl = "public-read"
49
- region = "nl-ams"
50
50
}
51
- ` , testBucketName ),
51
+ ` , testBucketName , objectTestsMainRegion ),
52
52
Check : resource .ComposeTestCheckFunc (
53
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
53
54
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
54
55
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "acl" , "public-read" ),
55
56
),
@@ -61,7 +62,7 @@ func TestAccScalewayObjectBucketACL_Basic(t *testing.T) {
61
62
func TestAccScalewayObjectBucketACL_Grantee (t * testing.T ) {
62
63
tt := NewTestTools (t )
63
64
defer tt .Cleanup ()
64
- testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scaleway -object-acl-grantee" )
65
+ testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scw -object-acl-grantee" )
65
66
66
67
ownerID := "105bdce1-64c0-48ab-899d-868455867ecf"
67
68
ownerIDChild := "50ab77d5-56bd-4981-a118-4e0fa5309b59"
@@ -74,10 +75,11 @@ func TestAccScalewayObjectBucketACL_Grantee(t *testing.T) {
74
75
Config : fmt .Sprintf (`
75
76
resource "scaleway_object_bucket" "main" {
76
77
name = "%[1]s"
78
+ region = "%[3]s"
77
79
}
78
80
79
81
resource "scaleway_object_bucket_acl" "main" {
80
- bucket = scaleway_object_bucket.main.name
82
+ bucket = scaleway_object_bucket.main.id
81
83
access_control_policy {
82
84
grant {
83
85
grantee {
@@ -100,20 +102,21 @@ func TestAccScalewayObjectBucketACL_Grantee(t *testing.T) {
100
102
}
101
103
}
102
104
}
103
- ` , testBucketName , ownerID ),
105
+ ` , testBucketName , ownerID , objectTestsMainRegion ),
104
106
Check : resource .ComposeTestCheckFunc (
105
- testAccCheckScalewayObjectBucketExists (tt , "scaleway_object_bucket.main" ),
107
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
106
108
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
107
109
),
108
110
},
109
111
{
110
112
Config : fmt .Sprintf (`
111
113
resource "scaleway_object_bucket" "main" {
112
114
name = "%[1]s"
115
+ region = "%[4]s"
113
116
}
114
117
115
118
resource "scaleway_object_bucket_acl" "main" {
116
- bucket = scaleway_object_bucket.main.name
119
+ bucket = scaleway_object_bucket.main.id
117
120
access_control_policy {
118
121
grant {
119
122
grantee {
@@ -144,9 +147,9 @@ func TestAccScalewayObjectBucketACL_Grantee(t *testing.T) {
144
147
}
145
148
}
146
149
}
147
- ` , testBucketName , ownerID , ownerIDChild ),
150
+ ` , testBucketName , ownerID , ownerIDChild , objectTestsMainRegion ),
148
151
Check : resource .ComposeTestCheckFunc (
149
- testAccCheckScalewayObjectBucketExists (tt , "scaleway_object_bucket.main" ),
152
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
150
153
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
151
154
),
152
155
},
@@ -162,7 +165,7 @@ func TestAccScalewayObjectBucketACL_Grantee(t *testing.T) {
162
165
func TestAccScalewayObjectBucketACL_GranteeWithOwner (t * testing.T ) {
163
166
tt := NewTestTools (t )
164
167
defer tt .Cleanup ()
165
- testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scaleway -object-acl-grantee -owner" )
168
+ testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scw -object-acl-owner" )
166
169
ownerID := "105bdce1-64c0-48ab-899d-868455867ecf"
167
170
resource .Test (t , resource.TestCase {
168
171
PreCheck : func () { testAccPreCheck (t ) },
@@ -173,10 +176,11 @@ func TestAccScalewayObjectBucketACL_GranteeWithOwner(t *testing.T) {
173
176
Config : fmt .Sprintf (`
174
177
resource "scaleway_object_bucket" "main" {
175
178
name = "%[1]s"
179
+ region = "%[3]s"
176
180
}
177
181
178
182
resource "scaleway_object_bucket_acl" "main" {
179
- bucket = scaleway_object_bucket.main.name
183
+ bucket = scaleway_object_bucket.main.id
180
184
expected_bucket_owner = "%[2]s"
181
185
access_control_policy {
182
186
grant {
@@ -200,9 +204,58 @@ func TestAccScalewayObjectBucketACL_GranteeWithOwner(t *testing.T) {
200
204
}
201
205
}
202
206
}
203
- ` , testBucketName , ownerID ),
207
+ ` , testBucketName , ownerID , objectTestsMainRegion ),
208
+ Check : resource .ComposeTestCheckFunc (
209
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
210
+ resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
211
+ ),
212
+ },
213
+ },
214
+ })
215
+ }
216
+
217
+ func TestAccScalewayObjectBucketACL_WithBucketName (t * testing.T ) {
218
+ tt := NewTestTools (t )
219
+ defer tt .Cleanup ()
220
+ testBucketName := sdkacctest .RandomWithPrefix ("test-acc-scw-object-acl-name" )
221
+
222
+ resource .Test (t , resource.TestCase {
223
+ PreCheck : func () { testAccPreCheck (t ) },
224
+ ProviderFactories : tt .ProviderFactories ,
225
+ CheckDestroy : testAccCheckScalewayObjectBucketDestroy (tt ),
226
+ Steps : []resource.TestStep {
227
+ {
228
+ Config : fmt .Sprintf (`
229
+ resource "scaleway_object_bucket" "main" {
230
+ name = "%s"
231
+ region = "%s"
232
+ }
233
+
234
+ resource "scaleway_object_bucket_acl" "main" {
235
+ bucket = scaleway_object_bucket.main.name
236
+ acl = "public-read"
237
+
238
+ }
239
+ ` , testBucketName , objectTestsMainRegion ),
240
+ ExpectError : regexp .MustCompile ("error putting Object Storage ACL: NoSuchBucket: The specified bucket does not exist" ),
241
+ },
242
+ {
243
+ Config : fmt .Sprintf (`
244
+ resource "scaleway_object_bucket" "main" {
245
+ name = "%s"
246
+ region = "%s"
247
+ }
248
+
249
+ resource "scaleway_object_bucket_acl" "main" {
250
+ bucket = scaleway_object_bucket.main.name
251
+ acl = "public-read"
252
+ region = "%[2]s"
253
+ }
254
+ ` , testBucketName , objectTestsMainRegion ),
204
255
Check : resource .ComposeTestCheckFunc (
256
+ testAccCheckScalewayObjectBucketExistsForceRegion (tt , "scaleway_object_bucket.main" , true ),
205
257
resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "bucket" , testBucketName ),
258
+ resource .TestCheckResourceAttr ("scaleway_object_bucket_acl.main" , "acl" , "public-read" ),
206
259
),
207
260
},
208
261
},
0 commit comments