From f70adb7827e1629f9b5db89739fb27cf234b52bb Mon Sep 17 00:00:00 2001 From: Sarah French Date: Wed, 10 May 2023 18:27:57 +0100 Subject: [PATCH] Add `status` output field to google_cloudfunctions_function, update tests for resource and data source. --- .../resources/resource_cloudfunctions_function.go | 9 +++++++++ .../data_source_google_cloudfunctions_function_test.go | 5 ++++- .../tests/resource_cloudfunctions_function_test.go.erb | 9 +++++---- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go b/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go index 6f2d508e523c..e1ec745c6d71 100644 --- a/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go +++ b/mmv1/third_party/terraform/resources/resource_cloudfunctions_function.go @@ -459,6 +459,11 @@ func ResourceCloudFunctionsFunction() *schema.Resource { }, }, }, + "status": { + Type: schema.TypeString, + Computed: true, + Description: `Describes the current stage of a deployment.`, + }, }, UseJSONNumber: true, } @@ -705,6 +710,10 @@ func resourceCloudFunctionsRead(d *schema.ResourceData, meta interface{}) error return fmt.Errorf("Error setting secret_volumes: %s", err) } + if err := d.Set("status", function.Status); err != nil { + return fmt.Errorf("Error setting status: %s", err) + } + if function.HttpsTrigger != nil { if err := d.Set("trigger_http", true); err != nil { return fmt.Errorf("Error setting trigger_http: %s", err) diff --git a/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go b/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go index 50f510c41556..dad4b468b6e8 100644 --- a/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go +++ b/mmv1/third_party/terraform/tests/data_source_google_cloudfunctions_function_test.go @@ -2,10 +2,11 @@ package google import ( "fmt" - "github.com/hashicorp/terraform-provider-google/google/acctest" "os" "testing" + "github.com/hashicorp/terraform-provider-google/google/acctest" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" ) @@ -29,6 +30,8 @@ func TestAccDataSourceGoogleCloudFunctionsFunction_basic(t *testing.T) { Check: resource.ComposeTestCheckFunc( acctest.CheckDataSourceStateMatchesResourceState(funcDataNameHttp, "google_cloudfunctions_function.function_http"), + resource.TestCheckResourceAttr(funcDataNameHttp, + "status", "ACTIVE"), ), }, }, diff --git a/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb b/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb index 019d891f55a0..4d0a0d44895b 100644 --- a/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb +++ b/mmv1/third_party/terraform/tests/resource_cloudfunctions_function_test.go.erb @@ -285,6 +285,8 @@ func TestAccCloudFunctionsFunction_basic(t *testing.T) { "min_instances", "3"), resource.TestCheckResourceAttr(funcResourceName, "ingress_settings", "ALLOW_INTERNAL_ONLY"), + resource.TestCheckResourceAttr(funcResourceName, + "status", "ACTIVE"), testAccCloudFunctionsFunctionSource(fmt.Sprintf("gs://%s/index.zip", bucketName), &function), testAccCloudFunctionsFunctionTrigger(FUNCTION_TRIGGER_HTTP, &function), resource.TestCheckResourceAttr(funcResourceName, @@ -390,7 +392,6 @@ func TestAccCloudFunctionsFunction_buildworkerpool(t *testing.T) { zipFilePath := createZIPArchiveForCloudFunctionSource(t, testHTTPTriggerPath) proj := acctest.GetTestProjectFromEnv() - defer os.Remove(zipFilePath) // clean up VcrTest(t, resource.TestCase{ @@ -438,9 +439,9 @@ func TestAccCloudFunctionsFunction_pubsub(t *testing.T) { Config: testAccCloudFunctionsFunction_pubsub(functionName, bucketName, topicName, zipFilePath), Check: resource.ComposeTestCheckFunc( - resource.TestCheckResourceAttr(funcResourceName, - "max_instances", "3000"), - ), + resource.TestCheckResourceAttr(funcResourceName, + "max_instances", "3000"), + ), }, { ResourceName: funcResourceName,