Skip to content

Commit 8c59e9f

Browse files
Generate sweepers to the service packages (#8128) (#5817)
* Generate sweepers to the service packages * Remove function AddTestSweepers in the acctest package Signed-off-by: Modular Magician <[email protected]>
1 parent bc05261 commit 8c59e9f

File tree

273 files changed

+1519
-2300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

273 files changed

+1519
-2300
lines changed

.changelog/8128.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/acctest/gcp_sweeper.go

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,9 @@
33
package acctest
44

55
import (
6-
"encoding/hex"
76
"fmt"
8-
"hash/crc32"
9-
"runtime"
107
"strings"
118

12-
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
139
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
1410
)
1511

@@ -59,16 +55,3 @@ func IsSweepableTestResource(resourceName string) bool {
5955
}
6056
return false
6157
}
62-
63-
func AddTestSweepers(name string, sweeper func(region string) error) {
64-
_, filename, _, _ := runtime.Caller(0)
65-
hash := crc32.NewIEEE()
66-
hash.Write([]byte(filename))
67-
hashedFilename := hex.EncodeToString(hash.Sum(nil))
68-
uniqueName := name + "_" + hashedFilename
69-
70-
resource.AddTestSweepers(uniqueName, &resource.Sweeper{
71-
Name: name,
72-
F: sweeper,
73-
})
74-
}

google-beta/gcp_sweeper_test.go

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,123 @@ import (
77

88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99

10+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/accessapproval"
11+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/accesscontextmanager"
12+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/activedirectory"
13+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/alloydb"
14+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/apigateway"
15+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/apigee"
16+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/appengine"
17+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/artifactregistry"
18+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/beyondcorp"
19+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigquery"
20+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigqueryanalyticshub"
21+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigqueryconnection"
22+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigquerydatapolicy"
23+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigquerydatatransfer"
24+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigqueryreservation"
25+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/bigtable"
26+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/billing"
27+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/binaryauthorization"
28+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/certificatemanager"
29+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudasset"
30+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudbuild"
31+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudbuildv2"
32+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudfunctions"
33+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudfunctions2"
34+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudidentity"
35+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudids"
36+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudiot"
37+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudrun"
38+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudrunv2"
39+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudscheduler"
40+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/cloudtasks"
41+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/compute"
42+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/containeranalysis"
43+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/containerattached"
44+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/databasemigrationservice"
45+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/datacatalog"
46+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dataform"
47+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/datafusion"
48+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/datalossprevention"
49+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dataplex"
50+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dataproc"
51+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dataprocmetastore"
52+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/datastore"
53+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/datastream"
54+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/deploymentmanager"
55+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dialogflow"
56+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dialogflowcx"
57+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/dns"
58+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/documentai"
59+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/essentialcontacts"
60+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/filestore"
1061
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebase"
62+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebasedatabase"
63+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebasehosting"
64+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebasestorage"
65+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firestore"
66+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/gameservices"
67+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/gkebackup"
68+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/gkehub"
69+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/gkehub2"
70+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/gkeonprem"
71+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/healthcare"
72+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/iam2"
73+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/iambeta"
74+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/iamworkforcepool"
75+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/iap"
76+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/identityplatform"
77+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/kms"
78+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/logging"
79+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/memcache"
80+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/mlengine"
81+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/monitoring"
82+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/networkmanagement"
83+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/networksecurity"
84+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/networkservices"
85+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/notebooks"
86+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/orgpolicy"
87+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/osconfig"
88+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/oslogin"
89+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/privateca"
90+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/publicca"
91+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/pubsub"
92+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/pubsublite"
93+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/redis"
94+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/resourcemanager"
95+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/runtimeconfig"
96+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/secretmanager"
97+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/securitycenter"
98+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/securityscanner"
99+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/servicedirectory"
100+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/servicemanagement"
101+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/serviceusage"
102+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/sourcerepo"
103+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/spanner"
104+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/sql"
105+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/storage"
106+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/storagetransfer"
107+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/tags"
108+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/tpu"
109+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/vertexai"
110+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/vmwareengine"
111+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/vpcaccess"
112+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/workflows"
113+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/workstations"
114+
115+
// Manually add the services for DCL resource and handwritten resource sweepers if they are not in the above list
116+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/apikeys"
117+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/clouddeploy"
118+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/composer"
119+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/container"
120+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/containeraws"
121+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/containerazure"
122+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/eventarc"
123+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebase"
124+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/firebaserules"
125+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/networkconnectivity"
126+
_ "github.com/hashicorp/terraform-provider-google-beta/google-beta/services/recaptchaenterprise"
11127
)
12128

13129
func TestMain(m *testing.M) {

google-beta/resource_access_context_manager_access_policy_test.go

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
package google
44

55
import (
6-
"context"
76
"fmt"
8-
"log"
9-
neturl "net/url"
107
"testing"
118

129
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -16,78 +13,6 @@ import (
1613
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
1714
)
1815

19-
func init() {
20-
resource.AddTestSweepers("gcp_access_context_manager_policy", &resource.Sweeper{
21-
Name: "gcp_access_context_manager_policy",
22-
F: testSweepAccessContextManagerPolicies,
23-
})
24-
}
25-
26-
func testSweepAccessContextManagerPolicies(region string) error {
27-
config, err := acctest.SharedConfigForRegion(region)
28-
if err != nil {
29-
log.Fatalf("error getting shared config for region %q: %s", region, err)
30-
}
31-
32-
err = config.LoadAndValidate(context.Background())
33-
if err != nil {
34-
log.Fatalf("error loading and validating shared config for region %q: %s", region, err)
35-
}
36-
37-
testOrg := acctest.GetTestOrgFromEnv(nil)
38-
if testOrg == "" {
39-
log.Printf("test org not set for test environment, skip sweep")
40-
return nil
41-
}
42-
43-
log.Printf("[DEBUG] Listing Access Policies for org %q", testOrg)
44-
45-
parent := neturl.QueryEscape(fmt.Sprintf("organizations/%s", testOrg))
46-
listUrl := fmt.Sprintf("%saccessPolicies?parent=%s", config.AccessContextManagerBasePath, parent)
47-
48-
resp, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
49-
Config: config,
50-
Method: "GET",
51-
RawURL: listUrl,
52-
UserAgent: config.UserAgent,
53-
})
54-
if err != nil && !transport_tpg.IsGoogleApiErrorWithCode(err, 404) {
55-
log.Printf("unable to list AccessPolicies for organization %q: %v", testOrg, err)
56-
return nil
57-
}
58-
var policies []interface{}
59-
if resp != nil {
60-
if v, ok := resp["accessPolicies"]; ok {
61-
policies = v.([]interface{})
62-
}
63-
}
64-
65-
if len(policies) == 0 {
66-
log.Printf("[DEBUG] no access policies found, exiting sweeper")
67-
return nil
68-
}
69-
if len(policies) > 1 {
70-
log.Printf("unexpected - more than one access policies found, change the tests")
71-
return nil
72-
}
73-
74-
policy := policies[0].(map[string]interface{})
75-
log.Printf("[DEBUG] Deleting test Access Policies %q", policy["name"])
76-
77-
policyUrl := config.AccessContextManagerBasePath + policy["name"].(string)
78-
if _, err := transport_tpg.SendRequest(transport_tpg.SendRequestOptions{
79-
Config: config,
80-
Method: "DELETE",
81-
RawURL: policyUrl,
82-
UserAgent: config.UserAgent,
83-
}); err != nil && !transport_tpg.IsGoogleApiErrorWithCode(err, 404) {
84-
log.Printf("unable to delete access policy %q", policy["name"].(string))
85-
return nil
86-
}
87-
88-
return nil
89-
}
90-
9116
// Since each test here is acting on the same organization and only one AccessPolicy
9217
// can exist, they need to be run serially
9318
func TestAccAccessContextManager(t *testing.T) {

google-beta/resource_cloudfunctions_function_test.go

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ package google
55
import (
66
"bytes"
77
"fmt"
8-
"log"
98
"os"
10-
"strings"
119
"testing"
1210

1311
"archive/zip"
@@ -31,14 +29,6 @@ const testBucketTriggerPath = "./test-fixtures/cloudfunctions/bucket_trigger.js"
3129
const testFirestoreTriggerPath = "./test-fixtures/cloudfunctions/firestore_trigger.js"
3230
const testSecretEnvVarFunctionPath = "./test-fixtures/cloudfunctions/secret_environment_variables.js"
3331
const testSecretVolumesMountFunctionPath = "./test-fixtures/cloudfunctions/secret_volumes_mount.js"
34-
const testFunctionsSourceArchivePrefix = "cloudfunczip"
35-
36-
func init() {
37-
resource.AddTestSweepers("gcp_cloud_function_source_archive", &resource.Sweeper{
38-
Name: "gcp_cloud_function_source_archive",
39-
F: sweepCloudFunctionSourceZipArchives,
40-
})
41-
}
4232

4333
func TestAccCloudFunctionsFunction_basic(t *testing.T) {
4434
t.Parallel()
@@ -684,28 +674,6 @@ func createZIPArchiveForCloudFunctionSource(t *testing.T, sourcePath string) str
684674
return tmpfile.Name()
685675
}
686676

687-
func sweepCloudFunctionSourceZipArchives(_ string) error {
688-
files, err := ioutil.ReadDir(os.TempDir())
689-
if err != nil {
690-
log.Printf("Error reading files: %s", err)
691-
return nil
692-
}
693-
for _, f := range files {
694-
if f.IsDir() {
695-
continue
696-
}
697-
if strings.HasPrefix(f.Name(), testFunctionsSourceArchivePrefix) {
698-
filepath := fmt.Sprintf("%s/%s", os.TempDir(), f.Name())
699-
if err := os.Remove(filepath); err != nil {
700-
log.Printf("Error removing files: %s", err)
701-
return nil
702-
}
703-
log.Printf("[INFO] cloud functions sweeper removed old file %s", filepath)
704-
}
705-
}
706-
return nil
707-
}
708-
709677
func testAccCloudFunctionsFunction_basic(functionName string, bucketName string, zipFilePath string) string {
710678
return fmt.Sprintf(`
711679
resource "google_storage_bucket" "bucket" {

0 commit comments

Comments
 (0)