Skip to content

Commit b2fa518

Browse files
add new project for app engine flex tests (#3348) (#1949)
* add new project for app engine flex tests * remove delete_service_on_destroy * do not delete the 'default' service * add noop_on_destroy to tests * ignore noop_on_destroy in tests Signed-off-by: Modular Magician <[email protected]>
1 parent 60f8f29 commit b2fa518

File tree

4 files changed

+116
-24
lines changed

4 files changed

+116
-24
lines changed

.changelog/3348.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:none
2+
3+
```

google-beta/resource_app_engine_flexible_app_version_generated_test.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ func TestAccAppEngineFlexibleAppVersion_appEngineFlexibleAppVersionExample(t *te
2828
t.Parallel()
2929

3030
context := map[string]interface{}{
31-
"random_suffix": acctest.RandString(10),
31+
"org_id": getTestOrgFromEnv(t),
32+
"billing_account": getTestBillingAccountFromEnv(t),
33+
"random_suffix": acctest.RandString(10),
3234
}
3335

3436
resource.Test(t, resource.TestCase{
@@ -43,23 +45,43 @@ func TestAccAppEngineFlexibleAppVersion_appEngineFlexibleAppVersionExample(t *te
4345
ResourceName: "google_app_engine_flexible_app_version.myapp_v1",
4446
ImportState: true,
4547
ImportStateVerify: true,
46-
ImportStateVerifyIgnore: []string{"beta_settings", "env_variables", "deployment", "entrypoint", "service", "delete_service_on_destroy"},
48+
ImportStateVerifyIgnore: []string{"beta_settings", "env_variables", "deployment", "entrypoint", "service", "noop_on_destroy"},
4749
},
4850
},
4951
})
5052
}
5153

5254
func testAccAppEngineFlexibleAppVersion_appEngineFlexibleAppVersionExample(context map[string]interface{}) string {
5355
return Nprintf(`
56+
resource "google_project" "my_project" {
57+
name = "tf-test-appeng-flex%{random_suffix}"
58+
project_id = "tf-test-appeng-flex%{random_suffix}"
59+
org_id = "%{org_id}"
60+
billing_account = "%{billing_account}"
61+
}
62+
63+
resource "google_app_engine_application" "app" {
64+
project = google_project.my_project.project_id
65+
location_id = "us-central"
66+
}
67+
5468
resource "google_project_service" "service" {
69+
project = google_project.my_project.project_id
5570
service = "appengineflex.googleapis.com"
5671
5772
disable_dependent_services = false
5873
}
5974
75+
resource "google_project_iam_member" "gae_api" {
76+
project = google_project_service.service.project
77+
role = "roles/compute.networkUser"
78+
member = "serviceAccount:service-${google_project.my_project.number}@gae-api-prod.google.com.iam.gserviceaccount.com"
79+
}
80+
6081
resource "google_app_engine_flexible_app_version" "myapp_v1" {
6182
version_id = "v1"
62-
service = "tf-test-service-%{random_suffix}"
83+
project = google_project_iam_member.gae_api.project
84+
service = "default"
6385
runtime = "nodejs"
6486
6587
entrypoint {
@@ -91,10 +113,11 @@ resource "google_app_engine_flexible_app_version" "myapp_v1" {
91113
}
92114
}
93115
94-
delete_service_on_destroy = true
116+
noop_on_destroy = true
95117
}
96118
97119
resource "google_storage_bucket" "bucket" {
120+
project = google_project.my_project.project_id
98121
name = "tf-test-appengine-static-content%{random_suffix}"
99122
}
100123

google-beta/resource_app_engine_flexible_app_version_test.go

Lines changed: 63 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package google
22

33
import (
4-
"fmt"
54
"github.com/hashicorp/terraform-plugin-sdk/helper/acctest"
65
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
76
"testing"
@@ -10,46 +9,70 @@ import (
109
func TestAccAppEngineFlexibleAppVersion_update(t *testing.T) {
1110
t.Parallel()
1211

13-
resourceName := fmt.Sprintf("tf-test-ae-service-%s", acctest.RandString(10))
12+
context := map[string]interface{}{
13+
"org_id": getTestOrgFromEnv(t),
14+
"billing_account": getTestBillingAccountFromEnv(t),
15+
"random_suffix": acctest.RandString(10),
16+
}
1417

1518
resource.Test(t, resource.TestCase{
1619
PreCheck: func() { testAccPreCheck(t) },
1720
Providers: testAccProviders,
1821
CheckDestroy: testAccCheckAppEngineFlexibleAppVersionDestroy,
1922
Steps: []resource.TestStep{
2023
{
21-
Config: testAccAppEngineFlexibleAppVersion_python(resourceName),
24+
Config: testAccAppEngineFlexibleAppVersion_python(context),
2225
},
2326
{
2427
ResourceName: "google_app_engine_flexible_app_version.foo",
2528
ImportState: true,
2629
ImportStateVerify: true,
27-
ImportStateVerifyIgnore: []string{"env_variables", "deployment", "entrypoint", "service", "delete_service_on_destroy"},
30+
ImportStateVerifyIgnore: []string{"env_variables", "deployment", "entrypoint", "service", "noop_on_destroy"},
2831
},
2932
{
30-
Config: testAccAppEngineFlexibleAppVersion_pythonUpdate(resourceName),
33+
Config: testAccAppEngineFlexibleAppVersion_pythonUpdate(context),
3134
},
3235
{
3336
ResourceName: "google_app_engine_flexible_app_version.foo",
3437
ImportState: true,
3538
ImportStateVerify: true,
36-
ImportStateVerifyIgnore: []string{"env_variables", "deployment", "entrypoint", "service", "delete_service_on_destroy"},
39+
ImportStateVerifyIgnore: []string{"env_variables", "deployment", "entrypoint", "service", "noop_on_destroy"},
3740
},
3841
},
3942
})
4043
}
4144

42-
func testAccAppEngineFlexibleAppVersion_python(resourceName string) string {
43-
return fmt.Sprintf(`
45+
func testAccAppEngineFlexibleAppVersion_python(context map[string]interface{}) string {
46+
return Nprintf(`
47+
resource "google_project" "my_project" {
48+
name = "tf-test-appeng-flex%{random_suffix}"
49+
project_id = "tf-test-appeng-flex%{random_suffix}"
50+
org_id = "%{org_id}"
51+
billing_account = "%{billing_account}"
52+
}
53+
54+
resource "google_app_engine_application" "app" {
55+
project = google_project.my_project.project_id
56+
location_id = "us-central"
57+
}
58+
4459
resource "google_project_service" "project" {
60+
project = google_project.my_project.project_id
4561
service = "appengineflex.googleapis.com"
4662
4763
disable_dependent_services = false
4864
}
4965
66+
resource "google_project_iam_member" "gae_api" {
67+
project = google_project_service.project.project
68+
role = "roles/compute.networkUser"
69+
member = "serviceAccount:service-${google_project.my_project.number}@gae-api-prod.google.com.iam.gserviceaccount.com"
70+
}
71+
5072
resource "google_app_engine_flexible_app_version" "foo" {
73+
project = google_project_iam_member.gae_api.project
5174
version_id = "v1"
52-
service = "%s"
75+
service = "default"
5376
runtime = "python"
5477
5578
runtime_api_version = "1"
@@ -104,11 +127,12 @@ resource "google_app_engine_flexible_app_version" "foo" {
104127
instances = 1
105128
}
106129
107-
delete_service_on_destroy = true
130+
noop_on_destroy = true
108131
}
109132
110133
resource "google_storage_bucket" "bucket" {
111-
name = "%s-bucket"
134+
project = google_project.my_project.project_id
135+
name = "tf-test-%{random_suffix}-flex-ae-bucket"
112136
}
113137
114138
resource "google_storage_bucket_object" "yaml" {
@@ -127,20 +151,40 @@ resource "google_storage_bucket_object" "main" {
127151
name = "main.py"
128152
bucket = google_storage_bucket.bucket.name
129153
source = "./test-fixtures/appengine/hello-world-flask/main.py"
130-
}`, resourceName, resourceName)
154+
}`, context)
155+
}
156+
157+
func testAccAppEngineFlexibleAppVersion_pythonUpdate(context map[string]interface{}) string {
158+
return Nprintf(`
159+
resource "google_project" "my_project" {
160+
name = "tf-test-appeng-flex%{random_suffix}"
161+
project_id = "tf-test-appeng-flex%{random_suffix}"
162+
org_id = "%{org_id}"
163+
billing_account = "%{billing_account}"
164+
}
165+
166+
resource "google_app_engine_application" "app" {
167+
project = google_project.my_project.project_id
168+
location_id = "us-central"
131169
}
132170
133-
func testAccAppEngineFlexibleAppVersion_pythonUpdate(resourceName string) string {
134-
return fmt.Sprintf(`
135171
resource "google_project_service" "project" {
172+
project = google_project.my_project.project_id
136173
service = "appengineflex.googleapis.com"
137174
138175
disable_dependent_services = false
139176
}
140177
178+
resource "google_project_iam_member" "gae_api" {
179+
project = google_project_service.project.project
180+
role = "roles/compute.networkUser"
181+
member = "serviceAccount:service-${google_project.my_project.number}@gae-api-prod.google.com.iam.gserviceaccount.com"
182+
}
183+
141184
resource "google_app_engine_flexible_app_version" "foo" {
185+
project = google_project_iam_member.gae_api.project
142186
version_id = "v1"
143-
service = "%s"
187+
service = "default"
144188
runtime = "python"
145189
146190
runtime_api_version = "1"
@@ -195,11 +239,12 @@ resource "google_app_engine_flexible_app_version" "foo" {
195239
instances = 2
196240
}
197241
198-
delete_service_on_destroy = true
242+
noop_on_destroy = true
199243
}
200244
201245
resource "google_storage_bucket" "bucket" {
202-
name = "%s-bucket"
246+
project = google_project.my_project.project_id
247+
name = "tf-test-%{random_suffix}-flex-ae-bucket"
203248
}
204249
205250
resource "google_storage_bucket_object" "yaml" {
@@ -218,5 +263,5 @@ resource "google_storage_bucket_object" "main" {
218263
name = "main.py"
219264
bucket = google_storage_bucket.bucket.name
220265
source = "./test-fixtures/appengine/hello-world-flask/main.py"
221-
}`, resourceName, resourceName)
266+
}`, context)
222267
}

website/docs/r/app_engine_flexible_app_version.html.markdown

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,35 @@ To get more information about FlexibleAppVersion, see:
4646

4747

4848
```hcl
49+
resource "google_project" "my_project" {
50+
name = "appeng-flex"
51+
project_id = "appeng-flex"
52+
org_id = "123456789"
53+
billing_account = "000000-0000000-0000000-000000"
54+
}
55+
56+
resource "google_app_engine_application" "app" {
57+
project = google_project.my_project.project_id
58+
location_id = "us-central"
59+
}
60+
4961
resource "google_project_service" "service" {
62+
project = google_project.my_project.project_id
5063
service = "appengineflex.googleapis.com"
5164
5265
disable_dependent_services = false
5366
}
5467
68+
resource "google_project_iam_member" "gae_api" {
69+
project = google_project_service.service.project
70+
role = "roles/compute.networkUser"
71+
member = "serviceAccount:service-${google_project.my_project.number}@gae-api-prod.google.com.iam.gserviceaccount.com"
72+
}
73+
5574
resource "google_app_engine_flexible_app_version" "myapp_v1" {
5675
version_id = "v1"
57-
service = "service-"
76+
project = google_project_iam_member.gae_api.project
77+
service = "default"
5878
runtime = "nodejs"
5979
6080
entrypoint {
@@ -86,10 +106,11 @@ resource "google_app_engine_flexible_app_version" "myapp_v1" {
86106
}
87107
}
88108
89-
delete_service_on_destroy = true
109+
noop_on_destroy = true
90110
}
91111
92112
resource "google_storage_bucket" "bucket" {
113+
project = google_project.my_project.project_id
93114
name = "appengine-static-content"
94115
}
95116

0 commit comments

Comments
 (0)