Skip to content

Commit 642206d

Browse files
author
Aleksandra Jarmolińska
committed
Fix testing call
1 parent bef372a commit 642206d

File tree

2 files changed

+55
-86
lines changed

2 files changed

+55
-86
lines changed

mmv1/third_party/terraform/resources/resource_composer_environment.go.erb

+1-24
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,7 @@ var (
5656
<% unless version == "ga" -%>
5757
"config.0.database_config",
5858
"config.0.web_server_config",
59-
<% end -%>
60-
<% unless version == "ga" -%>
61-
"config.0.encryption_config",
59+
"config.0.encryption_config",
6260
<% end -%>
6361
}
6462

@@ -436,8 +434,6 @@ func resourceComposerEnvironment() *schema.Resource {
436434
},
437435
},
438436
},
439-
<% end -%>
440-
<% unless version == "ga" -%>
441437
"encryption_config": {
442438
Type: schema.TypeList,
443439
Optional: true,
@@ -723,18 +719,6 @@ func resourceComposerEnvironmentUpdate(d *schema.ResourceData, meta interface{})
723719
return err
724720
}
725721
}
726-
<% end -%>
727-
<% unless version == "ga" -%>
728-
if d.HasChange("config.0.encryption_config.0.kms_key_name") {
729-
patchObj := &composer.Environment{Config: &composer.EnvironmentConfig{}}
730-
if config != nil {
731-
patchObj.Config.EncryptionConfig = config.EncryptionConfig
732-
}
733-
err = resourceComposerEnvironmentPatchField("config.encryptionConfig.kmsKeyName", userAgent, patchObj, d, tfConfig)
734-
if err != nil {
735-
return err
736-
}
737-
}
738722
<% end -%>
739723
}
740724

@@ -860,8 +844,6 @@ func flattenComposerEnvironmentConfig(envCfg *composer.EnvironmentConfig) interf
860844
<% unless version == "ga" -%>
861845
transformed["database_config"] = flattenComposerEnvironmentConfigDatabaseConfig(envCfg.DatabaseConfig)
862846
transformed["web_server_config"] = flattenComposerEnvironmentConfigWebServerConfig(envCfg.WebServerConfig)
863-
<% end -%>
864-
<% unless version == "ga" -%>
865847
transformed["encryption_config"] = flattenComposerEnvironmentConfigEncryptionConfig(envCfg.EncryptionConfig)
866848
<% end -%>
867849

@@ -913,9 +895,7 @@ func flattenComposerEnvironmentConfigWebServerConfig(webServerCfg *composer.WebS
913895

914896
return []interface{}{transformed}
915897
}
916-
<% end -%>
917898

918-
<% unless version == "ga" -%>
919899
func flattenComposerEnvironmentConfigEncryptionConfig(encryptionCfg *composer.EncryptionConfig) interface{} {
920900
if encryptionCfg == nil {
921901
return nil
@@ -1056,9 +1036,6 @@ func expandComposerEnvironmentConfig(v interface{}, d *schema.ResourceData, conf
10561036
}
10571037
transformed.WebServerConfig = transformedWebServerConfig
10581038

1059-
<% end -%>
1060-
1061-
<% unless version == "ga" -%>
10621039
transformedEncryptionConfig, err := expandComposerEnvironmentConfigEncryptionConfig(original["encryption_config"], d, config)
10631040
if err != nil {
10641041
return nil, err

mmv1/third_party/terraform/tests/resource_composer_environment_test.go.erb

+54-62
Original file line numberDiff line numberDiff line change
@@ -296,38 +296,38 @@ func TestAccComposerEnvironment_withWebServerConfig(t *testing.T) {
296296
}
297297

298298
func TestAccComposerEnvironment_withEncryptionConfig(t *testing.T) {
299-
t.Parallel()
299+
t.Parallel()
300300

301-
kms := BootstrapKMSKey(t)
301+
kms := BootstrapKMSKeyInLocation(t, "us-central1")
302302
pid := getTestProjectFromEnv()
303-
envName := fmt.Sprintf("%s-%d", testComposerEnvironmentPrefix, randInt(t))
304-
network := fmt.Sprintf("%s-%d", testComposerNetworkPrefix, randInt(t))
305-
subnetwork := network + "-1"
306-
307-
vcrTest(t, resource.TestCase{
308-
PreCheck: func() { testAccPreCheck(t) },
309-
Providers: testAccProviders,
310-
CheckDestroy: testAccComposerEnvironmentDestroyProducer(t),
311-
Steps: []resource.TestStep{
312-
{
313-
Config: testAccComposerEnvironment_encryptionCfg(pid, envName, kms.CryptoKey.Name, network, subnetwork),
314-
},
315-
{
316-
ResourceName: "google_composer_environment.test",
317-
ImportState: true,
318-
ImportStateVerify: true,
319-
},
320-
// This is a terrible clean-up step in order to get destroy to succeed,
321-
// due to dangling firewall rules left by the Composer Environment blocking network deletion.
322-
// TODO(emilyye): Remove this check if firewall rules bug gets fixed by Composer.
323-
// {
324-
// PlanOnly: true,
325-
// ExpectNonEmptyPlan: false,
326-
// Config: testAccComposerEnvironment_encryptionCfgUpdated(envName, network, subnetwork),
327-
// Check: testAccCheckClearComposerEnvironmentFirewalls(t, network),
328-
// },
329-
},
330-
})
303+
envName := fmt.Sprintf("%s-%d", testComposerEnvironmentPrefix, randInt(t))
304+
network := fmt.Sprintf("%s-%d", testComposerNetworkPrefix, randInt(t))
305+
subnetwork := network + "-1"
306+
307+
vcrTest(t, resource.TestCase{
308+
PreCheck: func() { testAccPreCheck(t) },
309+
Providers: testAccProviders,
310+
CheckDestroy: testAccComposerEnvironmentDestroyProducer(t),
311+
Steps: []resource.TestStep{
312+
{
313+
Config: testAccComposerEnvironment_encryptionCfg(pid, envName, kms.CryptoKey.Name, network, subnetwork),
314+
},
315+
{
316+
ResourceName: "google_composer_environment.test",
317+
ImportState: true,
318+
ImportStateVerify: true,
319+
},
320+
// This is a terrible clean-up step in order to get destroy to succeed,
321+
// due to dangling firewall rules left by the Composer Environment blocking network deletion.
322+
// TODO(dzarmola): Remove this check if firewall rules bug gets fixed by Composer.
323+
{
324+
PlanOnly: true,
325+
ExpectNonEmptyPlan: false,
326+
Config: testAccComposerEnvironment_encryptionCfg(pid, envName, kms.CryptoKey.Name, network, subnetwork),
327+
Check: testAccCheckClearComposerEnvironmentFirewalls(t, network),
328+
},
329+
},
330+
})
331331
}
332332
<% end -%>
333333
// Checks behavior of node config, including dependencies on Compute resources.
@@ -771,78 +771,70 @@ resource "google_compute_subnetwork" "test" {
771771
}
772772

773773
func testAccComposerEnvironment_encryptionCfg(pid, name, kmsKey, network, subnetwork string) string {
774-
return fmt.Sprintf(`
774+
return fmt.Sprintf(`
775775
data "google_project" "project" {
776776
project_id = "%s"
777777
}
778-
779778
resource "google_project_iam_member" "kms-project-binding1" {
780779
project = data.google_project.project.project_id
781780
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
782781
member = "serviceAccount:service-${data.google_project.project.number}@cloudcomposer-accounts.iam.gserviceaccount.com"
783782
}
784-
785783
resource "google_project_iam_member" "kms-project-binding2" {
786784
project = data.google_project.project.project_id
787785
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
788786
member = "serviceAccount:service-${data.google_project.project.number}@compute-system.iam.gserviceaccount.com"
789787
}
790-
791788
resource "google_project_iam_member" "kms-project-binding3" {
792789
project = data.google_project.project.project_id
793790
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
794791
member = "serviceAccount:service-${data.google_project.project.number}@container-engine-robot.iam.gserviceaccount.com"
795792
}
796-
797793
resource "google_project_iam_member" "kms-project-binding4" {
798794
project = data.google_project.project.project_id
799795
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
800796
member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-artifactregistry.iam.gserviceaccount.com"
801797
}
802-
803798
resource "google_project_iam_member" "kms-project-binding5" {
804799
project = data.google_project.project.project_id
805800
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
806801
member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-pubsub.iam.gserviceaccount.com"
807802
}
808-
809803
resource "google_kms_crypto_key_iam_member" "iam" {
810-
crypto_key_id = google_kms_crypto_key.crypto_key.id
804+
crypto_key_id = "%s"
811805
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
812806
member = "serviceAccount:service-${data.google_project.project.number}@gs-project-accounts.iam.gserviceaccount.com"
813807
}
814-
815808
resource "google_composer_environment" "test" {
816-
depends_on = [google_project_iam_member.kms-project-binding1]
817-
818-
name = "%s"
819-
region = "us-central1"
820-
config {
821-
node_config {
822-
network = google_compute_network.test.self_link
823-
subnetwork = google_compute_subnetwork.test.self_link
824-
zone = "us-central1-a"
825-
}
826-
encryption_config {
827-
kms_key_name = "%s"
828-
}
829-
}
809+
depends_on = [google_project_iam_member.kms-project-binding1, google_project_iam_member.kms-project-binding2,
810+
google_project_iam_member.kms-project-binding3, google_project_iam_member.kms-project-binding4,
811+
google_project_iam_member.kms-project-binding5, google_kms_crypto_key_iam_member.iam]
812+
name = "%s"
813+
region = "us-central1"
814+
config {
815+
node_config {
816+
network = google_compute_network.test.self_link
817+
subnetwork = google_compute_subnetwork.test.self_link
818+
zone = "us-central1-a"
819+
}
820+
encryption_config {
821+
kms_key_name = "%s"
822+
}
823+
}
830824
}
831-
832825
// use a separate network to avoid conflicts with other tests running in parallel
833826
// that use the default network/subnet
834827
resource "google_compute_network" "test" {
835-
name = "%s"
836-
auto_create_subnetworks = false
828+
name = "%s"
829+
auto_create_subnetworks = false
837830
}
838-
839831
resource "google_compute_subnetwork" "test" {
840-
name = "%s"
841-
ip_cidr_range = "10.2.0.0/16"
842-
region = "us-central1"
843-
network = google_compute_network.test.self_link
832+
name = "%s"
833+
ip_cidr_range = "10.2.0.0/16"
834+
region = "us-central1"
835+
network = google_compute_network.test.self_link
844836
}
845-
`, name, kmsKey, network, subnetwork)
837+
`, pid, kmsKey, name, kmsKey, network, subnetwork)
846838
}
847839
<% end -%>
848840
func testAccComposerEnvironment_update(name, network, subnetwork string) string {

0 commit comments

Comments
 (0)