Skip to content

Commit b745f17

Browse files
authored
Fixes issue #21773 for Eventarc test failures due to beta-only resources (#13478)
1 parent be65ab7 commit b745f17

File tree

2 files changed

+178
-15
lines changed

2 files changed

+178
-15
lines changed

mmv1/third_party/terraform/services/eventarc/resource_eventarc_google_api_source_test.go renamed to mmv1/third_party/terraform/services/eventarc/resource_eventarc_google_api_source_test.go.tmpl

+56-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
package eventarc_test
2+
{{- if ne $.TargetVersionName "ga" }}
23

34
import (
45
"fmt"
@@ -14,6 +15,8 @@ import (
1415
transport_tpg "github.com/hashicorp/terraform-provider-google/google/transport"
1516
)
1617

18+
// This test is beta-only due to the dependency on google_project_service_identity,
19+
// but enables testing updates to the message_bus field in GoogleApiSource.
1720
func TestAccEventarcGoogleApiSource_update(t *testing.T) {
1821
t.Parallel()
1922

@@ -27,7 +30,7 @@ func TestAccEventarcGoogleApiSource_update(t *testing.T) {
2730

2831
acctest.VcrTest(t, resource.TestCase{
2932
PreCheck: func() { acctest.AccTestPreCheck(t) },
30-
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
33+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t),
3134
CheckDestroy: testAccCheckEventarcGoogleApiSourceDestroyProducer(t),
3235
ExternalProviders: map[string]resource.ExternalProvider{
3336
"time": {},
@@ -79,6 +82,7 @@ func TestAccEventarcGoogleApiSource_update(t *testing.T) {
7982
func testAccEventarcGoogleApiSource_full(context map[string]interface{}) string {
8083
return acctest.Nprintf(`
8184
resource "google_project" "project" {
85+
provider = google-beta
8286
project_id = "tf-test%{random_suffix}"
8387
name = "tf-test%{random_suffix}"
8488
org_id = "%{org_id}"
@@ -92,24 +96,28 @@ resource "time_sleep" "wait_create_project" {
9296
}
9397

9498
resource "google_project_service" "compute" {
99+
provider = google-beta
95100
project = google_project.project.project_id
96101
service = "compute.googleapis.com"
97102
depends_on = [time_sleep.wait_create_project]
98103
}
99104

100105
resource "google_project_service" "servicenetworking" {
101-
project = google_project.project.project_id
102-
service = "servicenetworking.googleapis.com"
106+
provider = google-beta
107+
project = google_project.project.project_id
108+
service = "servicenetworking.googleapis.com"
103109
depends_on = [google_project_service.compute]
104110
}
105111

106112
resource "google_project_service" "kms" {
113+
provider = google-beta
107114
project = google_project.project.project_id
108115
service = "cloudkms.googleapis.com"
109116
depends_on = [google_project_service.servicenetworking]
110117
}
111118

112119
resource "google_project_service" "eventarc" {
120+
provider = google-beta
113121
project = google_project.project.project_id
114122
service = "eventarc.googleapis.com"
115123
depends_on = [google_project_service.kms]
@@ -121,18 +129,21 @@ resource "time_sleep" "wait_enable_service" {
121129
}
122130

123131
resource "google_kms_key_ring" "keyring" {
132+
provider = google-beta
124133
name = "keyring"
125134
location = "%{region}"
126135
project = google_project.project.project_id
127136
depends_on = [google_project_service.kms]
128137
}
129138

130139
resource "google_kms_crypto_key" "key" {
140+
provider = google-beta
131141
name = "key1"
132142
key_ring = google_kms_key_ring.keyring.id
133143
}
134144

135145
resource "google_project_service_identity" "eventarc_sa" {
146+
provider = google-beta
136147
service = "eventarc.googleapis.com"
137148
project = google_project.project.project_id
138149
depends_on = [time_sleep.wait_enable_service]
@@ -144,6 +155,7 @@ resource "time_sleep" "wait_create_sa" {
144155
}
145156

146157
resource "google_kms_crypto_key_iam_member" "eventarc_sa_keyuser" {
158+
provider = google-beta
147159
crypto_key_id = google_kms_crypto_key.key.id
148160
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
149161
member = google_project_service_identity.eventarc_sa.member
@@ -156,13 +168,15 @@ resource "time_sleep" "wait_propagate_iam" {
156168
}
157169

158170
resource "google_eventarc_message_bus" "message_bus" {
171+
provider = google-beta
159172
location = "%{region}"
160173
message_bus_id = "tf-test-messagebus%{random_suffix}"
161174
project = google_project.project.project_id
162175
depends_on = [time_sleep.wait_propagate_iam]
163176
}
164177

165178
resource "google_eventarc_google_api_source" "primary" {
179+
provider = google-beta
166180
location = "%{region}"
167181
google_api_source_id = "tf-test-googleapisource%{random_suffix}"
168182
project = google_project.project.project_id
@@ -187,6 +201,7 @@ resource "google_eventarc_google_api_source" "primary" {
187201
func testAccEventarcGoogleApiSource_update(context map[string]interface{}) string {
188202
return acctest.Nprintf(`
189203
resource "google_project" "project" {
204+
provider = google-beta
190205
project_id = "tf-test%{random_suffix}"
191206
name = "tf-test%{random_suffix}"
192207
org_id = "%{org_id}"
@@ -195,58 +210,68 @@ resource "google_project" "project" {
195210
}
196211

197212
resource "google_project_service" "compute" {
213+
provider = google-beta
198214
project = google_project.project.project_id
199215
service = "compute.googleapis.com"
200216
}
201217

202218
resource "google_project_service" "servicenetworking" {
203-
project = google_project.project.project_id
204-
service = "servicenetworking.googleapis.com"
219+
provider = google-beta
220+
project = google_project.project.project_id
221+
service = "servicenetworking.googleapis.com"
205222
depends_on = [google_project_service.compute]
206223
}
207224

208225
resource "google_project_service" "kms" {
226+
provider = google-beta
209227
project = google_project.project.project_id
210228
service = "cloudkms.googleapis.com"
211229
depends_on = [google_project_service.servicenetworking]
212230
}
213231

214232
resource "google_project_service" "eventarc" {
233+
provider = google-beta
215234
project = google_project.project.project_id
216235
service = "eventarc.googleapis.com"
217236
depends_on = [google_project_service.kms]
218237
}
219238

220239
resource "google_kms_key_ring" "keyring" {
240+
provider = google-beta
221241
name = "keyring"
222242
location = "%{region}"
223243
project = google_project.project.project_id
224244
depends_on = [google_project_service.kms]
225245
}
226246

227247
resource "google_kms_crypto_key" "key" {
248+
provider = google-beta
228249
name = "key1"
229250
key_ring = google_kms_key_ring.keyring.id
230251
}
231252

232253
resource "google_kms_crypto_key" "key_update" {
254+
provider = google-beta
233255
name = "key2"
234256
key_ring = google_kms_key_ring.keyring.id
235257
}
236258

237259
resource "google_project_service_identity" "eventarc_sa" {
260+
provider = google-beta
238261
service = "eventarc.googleapis.com"
239262
project = google_project.project.project_id
240263
depends_on = [google_project_service.eventarc]
241264
}
242265

243266
resource "google_kms_crypto_key_iam_member" "eventarc_sa_keyuser" {
267+
provider = google-beta
244268
crypto_key_id = google_kms_crypto_key.key.id
245269
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
246270
member = google_project_service_identity.eventarc_sa.member
247271
}
248272

249273
resource "google_kms_crypto_key_iam_member" "eventarc_sa_keyuser_update" {
274+
provider = google-beta
250275
crypto_key_id = google_kms_crypto_key.key_update.id
251276
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
252277
member = google_project_service_identity.eventarc_sa.member
@@ -259,6 +284,7 @@ resource "time_sleep" "wait_propagate_iam_update" {
259284

260285
# Create a separate project to contain another MessageBus.
261286
resource "google_project" "project_update" {
287+
provider = google-beta
262288
project_id = "tf-test2%{random_suffix}"
263289
name = "tf-test2%{random_suffix}"
264290
org_id = "%{org_id}"
@@ -272,6 +298,7 @@ resource "time_sleep" "wait_create_project_update" {
272298
}
273299

274300
resource "google_project_service" "eventarc_update" {
301+
provider = google-beta
275302
project = google_project.project_update.project_id
276303
service = "eventarc.googleapis.com"
277304
depends_on = [time_sleep.wait_create_project_update]
@@ -283,6 +310,7 @@ resource "time_sleep" "wait_enable_service_update" {
283310
}
284311

285312
resource "google_project_service_identity" "eventarc_sa_update" {
313+
provider = google-beta
286314
project = google_project.project_update.project_id
287315
service = "eventarc.googleapis.com"
288316
depends_on = [time_sleep.wait_enable_service_update]
@@ -294,13 +322,15 @@ resource "time_sleep" "wait_create_sa_update" {
294322
}
295323

296324
resource "google_eventarc_message_bus" "message_bus_update" {
325+
provider = google-beta
297326
location = "%{region}"
298327
message_bus_id = "tf-test-messagebus2%{random_suffix}"
299328
project = google_project.project_update.project_id
300329
depends_on = [time_sleep.wait_create_sa_update]
301330
}
302331

303332
resource "google_eventarc_google_api_source" "primary" {
333+
provider = google-beta
304334
location = "%{region}"
305335
google_api_source_id = "tf-test-googleapisource%{random_suffix}"
306336
project = google_project.project.project_id
@@ -325,6 +355,7 @@ resource "google_eventarc_google_api_source" "primary" {
325355
func testAccEventarcGoogleApiSource_unset(context map[string]interface{}) string {
326356
return acctest.Nprintf(`
327357
resource "google_project" "project" {
358+
provider = google-beta
328359
project_id = "tf-test%{random_suffix}"
329360
name = "tf-test%{random_suffix}"
330361
org_id = "%{org_id}"
@@ -333,64 +364,75 @@ resource "google_project" "project" {
333364
}
334365

335366
resource "google_project_service" "compute" {
367+
provider = google-beta
336368
project = google_project.project.project_id
337369
service = "compute.googleapis.com"
338370
}
339371

340372
resource "google_project_service" "servicenetworking" {
341-
project = google_project.project.project_id
342-
service = "servicenetworking.googleapis.com"
373+
provider = google-beta
374+
project = google_project.project.project_id
375+
service = "servicenetworking.googleapis.com"
343376
depends_on = [google_project_service.compute]
344377
}
345378

346379
resource "google_project_service" "kms" {
380+
provider = google-beta
347381
project = google_project.project.project_id
348382
service = "cloudkms.googleapis.com"
349383
depends_on = [google_project_service.servicenetworking]
350384
}
351385

352386
resource "google_project_service" "eventarc" {
387+
provider = google-beta
353388
project = google_project.project.project_id
354389
service = "eventarc.googleapis.com"
355390
depends_on = [google_project_service.kms]
356391
}
357392

358393
resource "google_kms_key_ring" "keyring" {
394+
provider = google-beta
359395
name = "keyring"
360396
location = "%{region}"
361397
project = google_project.project.project_id
362398
depends_on = [google_project_service.kms]
363399
}
364400

365401
resource "google_kms_crypto_key" "key" {
402+
provider = google-beta
366403
name = "key1"
367404
key_ring = google_kms_key_ring.keyring.id
368405
}
369406

370407
resource "google_kms_crypto_key" "key_update" {
408+
provider = google-beta
371409
name = "key2"
372410
key_ring = google_kms_key_ring.keyring.id
373411
}
374412

375413
resource "google_project_service_identity" "eventarc_sa" {
414+
provider = google-beta
376415
service = "eventarc.googleapis.com"
377416
project = google_project.project.project_id
378417
depends_on = [google_project_service.eventarc]
379418
}
380419

381420
resource "google_kms_crypto_key_iam_member" "eventarc_sa_keyuser" {
421+
provider = google-beta
382422
crypto_key_id = google_kms_crypto_key.key.id
383423
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
384424
member = google_project_service_identity.eventarc_sa.member
385425
}
386426

387427
resource "google_kms_crypto_key_iam_member" "eventarc_sa_keyuser_update" {
428+
provider = google-beta
388429
crypto_key_id = google_kms_crypto_key.key_update.id
389430
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
390431
member = google_project_service_identity.eventarc_sa.member
391432
}
392433

393434
resource "google_project" "project_update" {
435+
provider = google-beta
394436
project_id = "tf-test2%{random_suffix}"
395437
name = "tf-test2%{random_suffix}"
396438
org_id = "%{org_id}"
@@ -399,24 +441,28 @@ resource "google_project" "project_update" {
399441
}
400442

401443
resource "google_project_service" "eventarc_update" {
444+
provider = google-beta
402445
project = google_project.project_update.project_id
403446
service = "eventarc.googleapis.com"
404447
}
405448

406449
resource "google_project_service_identity" "eventarc_sa_update" {
450+
provider = google-beta
407451
project = google_project.project_update.project_id
408452
service = "eventarc.googleapis.com"
409453
depends_on = [google_project_service.eventarc_update]
410454
}
411455

412456
resource "google_eventarc_message_bus" "message_bus_update" {
457+
provider = google-beta
413458
location = "%{region}"
414459
message_bus_id = "tf-test-messagebus2%{random_suffix}"
415460
project = google_project.project_update.project_id
416461
depends_on = [google_project_service_identity.eventarc_sa_update]
417462
}
418463

419464
resource "google_eventarc_google_api_source" "primary" {
465+
provider = google-beta
420466
location = "%{region}"
421467
google_api_source_id = "tf-test-googleapisource%{random_suffix}"
422468
project = google_project.project.project_id
@@ -438,7 +484,7 @@ func testAccCheckEventarcGoogleApiSourceDestroyProducer(t *testing.T) func(s *te
438484

439485
config := acctest.GoogleProviderConfig(t)
440486

441-
url, err := tpgresource.ReplaceVarsForTest(config, rs, "{{EventarcBasePath}}projects/{{project}}/locations/{{location}}/googleApiSources/{{name}}")
487+
url, err := tpgresource.ReplaceVarsForTest(config, rs, "{{"{{"}}EventarcBasePath{{"}}"}}projects/{{"{{"}}project{{"}}"}}/locations/{{"{{"}}location{{"}}"}}/googleApiSources/{{"{{"}}name{{"}}"}}")
442488
if err != nil {
443489
return err
444490
}
@@ -464,3 +510,5 @@ func testAccCheckEventarcGoogleApiSourceDestroyProducer(t *testing.T) func(s *te
464510
return nil
465511
}
466512
}
513+
514+
{{ end }}

0 commit comments

Comments
 (0)