Skip to content

Commit e5989e9

Browse files
Fix composer tests (#14749) (#23888)
[upstream:55f8783bfd137d5c8f39b6f1c5841c5f13386f09] Signed-off-by: Modular Magician <[email protected]>
1 parent a60aafa commit e5989e9

File tree

3 files changed

+55
-6
lines changed

3 files changed

+55
-6
lines changed

google/services/composer/resource_composer_environment_test.go

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -678,13 +678,14 @@ func TestAccComposerEnvironment_customBucket(t *testing.T) {
678678
envName := fmt.Sprintf("%s-%d", testComposerEnvironmentPrefix, acctest.RandInt(t))
679679
network := fmt.Sprintf("%s-%d", testComposerNetworkPrefix, acctest.RandInt(t))
680680
subnetwork := network + "-1"
681+
serviceAccount := fmt.Sprintf("tf-test-%d", acctest.RandInt(t))
681682
acctest.VcrTest(t, resource.TestCase{
682683
PreCheck: func() { acctest.AccTestPreCheck(t) },
683684
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
684685
CheckDestroy: testAccComposerEnvironmentDestroyProducer(t),
685686
Steps: []resource.TestStep{
686687
{
687-
Config: testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork),
688+
Config: testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork, serviceAccount),
688689
},
689690
{
690691
ResourceName: "google_composer_environment.test",
@@ -697,7 +698,7 @@ func TestAccComposerEnvironment_customBucket(t *testing.T) {
697698
{
698699
PlanOnly: true,
699700
ExpectNonEmptyPlan: false,
700-
Config: testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork),
701+
Config: testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork, serviceAccount),
701702
Check: testAccCheckClearComposerEnvironmentFirewalls(t, network),
702703
},
703704
},
@@ -1139,8 +1140,21 @@ func TestAccComposerEnvironmentComposer3_usesUnsupportedField_expectError(t *tes
11391140
})
11401141
}
11411142

1142-
func testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork string) string {
1143+
func testAccComposerEnvironment_customBucket(bucketName, envName, network, subnetwork, serviceAccount string) string {
11431144
return fmt.Sprintf(`
1145+
data "google_project" "project" {}
1146+
1147+
resource "google_service_account" "test" {
1148+
account_id = "%s"
1149+
display_name = "Test Service Account for Composer Environment"
1150+
}
1151+
1152+
resource "google_project_iam_member" "composer-worker" {
1153+
project = data.google_project.project.project_id
1154+
role = "roles/composer.worker"
1155+
member = "serviceAccount:${google_service_account.test.email}"
1156+
}
1157+
11441158
resource "google_storage_bucket" "test" {
11451159
name = "%s"
11461160
location = "us-central1"
@@ -1154,6 +1168,7 @@ resource "google_composer_environment" "test" {
11541168
node_config {
11551169
network = google_compute_network.test.self_link
11561170
subnetwork = google_compute_subnetwork.test.self_link
1171+
service_account = google_service_account.test.name
11571172
ip_allocation_policy {
11581173
cluster_ipv4_cidr_block = "10.0.0.0/16"
11591174
}
@@ -1165,6 +1180,7 @@ resource "google_composer_environment" "test" {
11651180
storage_config {
11661181
bucket = google_storage_bucket.test.name
11671182
}
1183+
depends_on = [google_project_iam_member.composer-worker]
11681184
}
11691185
11701186
// use a separate network to avoid conflicts with other tests running in parallel
@@ -1180,7 +1196,7 @@ resource "google_compute_subnetwork" "test" {
11801196
region = "us-central1"
11811197
network = google_compute_network.test.self_link
11821198
}
1183-
`, bucketName, envName, network, subnetwork)
1199+
`, serviceAccount, bucketName, envName, network, subnetwork)
11841200
}
11851201

11861202
func testAccComposerEnvironment_customBucketWithUrl(bucketName, envName, network, subnetwork, serviceAccount string) string {
@@ -1316,7 +1332,6 @@ resource "google_kms_crypto_key_iam_member" "iam" {
13161332
member = "serviceAccount:service-${data.google_project.project.number}@gs-project-accounts.iam.gserviceaccount.com"
13171333
}
13181334
resource "google_composer_environment" "test" {
1319-
depends_on = [google_kms_crypto_key_iam_member.iam]
13201335
name = "%s"
13211336
region = "us-central1"
13221337
config {
@@ -1334,7 +1349,7 @@ resource "google_composer_environment" "test" {
13341349
kms_key_name = "%s"
13351350
}
13361351
}
1337-
depends_on = [google_project_iam_member.composer-worker]
1352+
depends_on = [google_project_iam_member.composer-worker, google_kms_crypto_key_iam_member.iam]
13381353
}
13391354
// use a separate network to avoid conflicts with other tests running in parallel
13401355
// that use the default network/subnet

google/services/composer/resource_composer_user_workloads_config_map_generated_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,31 @@ func TestAccComposerUserWorkloadsConfigMap_composerUserWorkloadsConfigMapBasicEx
5757

5858
func testAccComposerUserWorkloadsConfigMap_composerUserWorkloadsConfigMapBasicExample(context map[string]interface{}) string {
5959
return acctest.Nprintf(`
60+
data "google_project" "project" {}
61+
62+
resource "google_service_account" "test" {
63+
account_id = "tf-test-test-sa%{random_suffix}"
64+
display_name = "Test Service Account for Composer Environment"
65+
}
66+
67+
resource "google_project_iam_member" "composer-worker" {
68+
project = data.google_project.project.project_id
69+
role = "roles/composer.worker"
70+
member = "serviceAccount:${google_service_account.test.email}"
71+
}
72+
6073
resource "google_composer_environment" "environment" {
6174
name = "tf-test-test-environment%{random_suffix}"
6275
region = "us-central1"
6376
config {
6477
software_config {
6578
image_version = "composer-3-airflow-2"
6679
}
80+
node_config {
81+
service_account = google_service_account.test.name
82+
}
6783
}
84+
depends_on = [google_project_iam_member.composer-worker]
6885
}
6986
7087
resource "google_composer_user_workloads_config_map" "config_map" {

website/docs/r/composer_user_workloads_config_map.html.markdown

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,31 @@ To get more information about UserWorkloadsConfigMap, see:
3838

3939

4040
```hcl
41+
data "google_project" "project" {}
42+
43+
resource "google_service_account" "test" {
44+
account_id = "test-sa"
45+
display_name = "Test Service Account for Composer Environment"
46+
}
47+
48+
resource "google_project_iam_member" "composer-worker" {
49+
project = data.google_project.project.project_id
50+
role = "roles/composer.worker"
51+
member = "serviceAccount:${google_service_account.test.email}"
52+
}
53+
4154
resource "google_composer_environment" "environment" {
4255
name = "test-environment"
4356
region = "us-central1"
4457
config {
4558
software_config {
4659
image_version = "composer-3-airflow-2"
4760
}
61+
node_config {
62+
service_account = google_service_account.test.name
63+
}
4864
}
65+
depends_on = [google_project_iam_member.composer-worker]
4966
}
5067
5168
resource "google_composer_user_workloads_config_map" "config_map" {

0 commit comments

Comments
 (0)