Skip to content

Commit 3cd2077

Browse files
authored
Fix TestAccSpannerInstance_freeInstanceBasicUpdate (#15706)
1 parent a467303 commit 3cd2077

File tree

1 file changed

+65
-14
lines changed

1 file changed

+65
-14
lines changed

mmv1/third_party/terraform/services/spanner/resource_spanner_instance_test.go

Lines changed: 65 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"testing"
77

88
"github.com/hashicorp/terraform-provider-google/google/acctest"
9+
"github.com/hashicorp/terraform-provider-google/google/envvar"
910

1011
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1112
)
@@ -500,14 +501,22 @@ func TestAccSpannerInstance_spannerInstanceWithAutoscaling(t *testing.T) {
500501
}
501502

502503
func TestAccSpannerInstance_freeInstanceBasicUpdate(t *testing.T) {
503-
displayName := fmt.Sprintf("tf-test-%s", acctest.RandString(t, 10))
504+
context := map[string]interface{}{
505+
"random_suffix": acctest.RandString(t, 10),
506+
"org": envvar.GetTestOrgFromEnv(t),
507+
"billingAccount": envvar.GetTestBillingAccountFromEnv(t),
508+
}
509+
504510
acctest.VcrTest(t, resource.TestCase{
505511
PreCheck: func() { acctest.AccTestPreCheck(t) },
506512
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
507-
CheckDestroy: testAccCheckSpannerInstanceDestroyProducer(t),
513+
ExternalProviders: map[string]resource.ExternalProvider{
514+
"time": {},
515+
},
516+
CheckDestroy: testAccCheckSpannerInstanceDestroyProducer(t),
508517
Steps: []resource.TestStep{
509518
{
510-
Config: testAccSpannerInstance_freeInstanceBasic(displayName),
519+
Config: testAccSpannerInstance_freeInstanceBasic(context),
511520
Check: resource.ComposeTestCheckFunc(
512521
resource.TestCheckResourceAttrSet("google_spanner_instance.main", "state"),
513522
),
@@ -519,7 +528,7 @@ func TestAccSpannerInstance_freeInstanceBasicUpdate(t *testing.T) {
519528
ImportStateVerifyIgnore: []string{"labels", "terraform_labels"},
520529
},
521530
{
522-
Config: testAccSpannerInstance_freeInstanceBasicUpdate(displayName),
531+
Config: testAccSpannerInstance_freeInstanceBasicUpdate(context),
523532
Check: resource.ComposeTestCheckFunc(
524533
resource.TestCheckResourceAttrSet("google_spanner_instance.main", "state"),
525534
),
@@ -831,26 +840,68 @@ resource "google_spanner_instance" "example" {
831840
`, context)
832841
}
833842

834-
func testAccSpannerInstance_freeInstanceBasic(name string) string {
835-
return fmt.Sprintf(`
843+
func testAccSpannerInstance_freeInstanceBasic(context map[string]interface{}) string {
844+
return acctest.Nprintf(`
845+
resource "google_project" "acceptance" {
846+
project_id = "tf-test-%{random_suffix}"
847+
name = "tf-test-%{random_suffix}"
848+
org_id = "%{org}"
849+
billing_account = "%{billingAccount}"
850+
deletion_policy = "DELETE"
851+
}
852+
853+
resource "time_sleep" "wait_60_seconds" {
854+
create_duration = "60s"
855+
depends_on = [google_project.acceptance]
856+
}
857+
858+
resource "google_project_service" "spanner" {
859+
project = google_project.acceptance.project_id
860+
service = "spanner.googleapis.com"
861+
depends_on = [time_sleep.wait_60_seconds]
862+
}
863+
836864
resource "google_spanner_instance" "main" {
837-
name = "%s"
865+
project = google_project.acceptance.project_id
866+
name = "tf-test-%{random_suffix}"
838867
config = "regional-europe-west1"
839-
display_name = "%s"
868+
display_name = "tf-test-%{random_suffix}"
840869
instance_type = "FREE_INSTANCE"
870+
depends_on = [google_project_service.spanner]
841871
}
842-
`, name, name)
872+
`, context)
873+
}
874+
875+
func testAccSpannerInstance_freeInstanceBasicUpdate(context map[string]interface{}) string {
876+
return acctest.Nprintf(`
877+
resource "google_project" "acceptance" {
878+
project_id = "tf-test-%{random_suffix}"
879+
name = "tf-test-%{random_suffix}"
880+
org_id = "%{org}"
881+
billing_account = "%{billingAccount}"
882+
deletion_policy = "DELETE"
883+
}
884+
885+
resource "time_sleep" "wait_60_seconds" {
886+
create_duration = "60s"
887+
depends_on = [google_project.acceptance]
888+
}
889+
890+
resource "google_project_service" "spanner" {
891+
project = google_project.acceptance.project_id
892+
service = "spanner.googleapis.com"
893+
depends_on = [time_sleep.wait_60_seconds]
843894
}
844895
845-
func testAccSpannerInstance_freeInstanceBasicUpdate(name string) string {
846-
return fmt.Sprintf(`
847896
resource "google_spanner_instance" "main" {
848-
name = "%s"
897+
project = google_project.acceptance.project_id
898+
name = "tf-test-%{random_suffix}"
849899
config = "nam-eur-asia3"
850-
display_name = "%s"
900+
display_name = "tf-test-%{random_suffix}"
851901
edition = "ENTERPRISE_PLUS"
852902
instance_type = "PROVISIONED"
853903
num_nodes = 1
904+
depends_on = [google_project_service.spanner]
854905
}
855-
`, name, name)
906+
`, context)
856907
}

0 commit comments

Comments
 (0)