From f003715b32c73e24b9c62c79c5436f058b127e9c Mon Sep 17 00:00:00 2001 From: Artur Sawicki Date: Tue, 5 Mar 2024 08:33:59 +0100 Subject: [PATCH] chore: Speed up tests (#2580) - Set up client just once for acceptance tests - Change `ParallelTest` to `Test` - Remove old `Providers` setup (both from resources and datasources acceptance tests) - Fix the failing tests (mostly adding dependencies and random names to objects) --- Makefile | 2 +- docs/resources/role_grants.md | 2 +- pkg/acceptance/testing.go | 52 +++++--- .../current_account_acceptance_test.go | 2 +- pkg/datasources/database_acceptance_test.go | 11 +- .../database_roles_acceptance_test.go | 10 +- pkg/datasources/databases_acceptance_test.go | 10 +- .../external_tables_acceptance_test.go | 10 +- .../file_formats_acceptance_test.go | 17 ++- pkg/datasources/grants_acceptance_test.go | 10 +- pkg/datasources/helpers_test.go | 13 -- .../masking_policies_acceptance_test.go | 10 +- pkg/datasources/parameters_acceptance_test.go | 23 ++-- pkg/datasources/pipes_acceptance_test.go | 10 +- pkg/datasources/role_acceptance_test.go | 2 +- pkg/datasources/roles_acceptance_test.go | 13 +- pkg/datasources/schemas_acceptance_test.go | 10 +- pkg/datasources/sequences_acceptance_test.go | 11 +- pkg/datasources/shares_acceptance_test.go | 10 +- pkg/datasources/streams_acceptance_test.go | 12 +- ..._get_aws_sns_iam_policy_acceptance_test.go | 10 +- ..._get_privatelink_config_acceptance_test.go | 10 +- ...snowflake_platform_info_acceptance_test.go | 10 +- pkg/datasources/tables_acceptance_test.go | 2 +- pkg/datasources/tasks_acceptance_test.go | 10 +- pkg/datasources/users_acceptance_test.go | 10 +- pkg/datasources/views_acceptance_test.go | 2 +- pkg/datasources/warehouses_acceptance_test.go | 10 +- pkg/provider/provider.go | 35 ++++-- pkg/resources/account_acceptance_test.go | 10 +- .../account_grant_acceptance_test.go | 38 ++++-- .../account_parameter_acceptance_test.go | 29 +++-- ...sword_policy_attachment_acceptance_test.go | 11 +- pkg/resources/alert_acceptance_test.go | 25 ++-- .../database_grant_acceptance_test.go | 18 ++- .../database_role_acceptance_test.go | 9 +- ...ernal_oauth_integration_acceptance_test.go | 38 ++++-- .../external_stage_acceptance_test.go | 11 +- .../external_table_grant_acceptance_test.go | 20 ++- pkg/resources/file_format_acceptance_test.go | 84 +++++++++---- .../file_format_grant_acceptance_test.go | 21 +++- .../function_grant_acceptance_test.go | 16 ++- ...rant_privileges_to_role_acceptance_test.go | 119 ++++++++++++------ .../internal_stage_acceptance_test.go | 9 +- .../masking_policy_acceptance_test.go | 9 +- .../masking_policy_grant_acceptance_test.go | 7 +- ...materialized_view_grant_acceptance_test.go | 16 ++- .../oauth_integration_acceptance_test.go | 16 ++- .../object_parameter_acceptance_test.go | 16 ++- pkg/resources/pipe_grant_acceptance_test.go | 12 +- .../procedure_grant_acceptance_test.go | 16 ++- .../resource_monitor_grant_acceptance_test.go | 9 +- pkg/resources/role_acceptance_test.go | 7 +- pkg/resources/role_grants.go | 9 +- pkg/resources/role_grants_acceptance_test.go | 9 +- .../role_ownership_grant_acceptance_test.go | 9 +- ...row_access_policy_grant_acceptance_test.go | 2 +- .../saml_integration_acceptance_test.go | 6 +- pkg/resources/schema_grant_acceptance_test.go | 12 +- .../scim_integration_acceptance_test.go | 2 +- pkg/resources/sequence_acceptance_test.go | 9 +- .../sequence_grant_acceptance_test.go | 16 ++- .../session_parameter_acceptance_test.go | 16 ++- pkg/resources/share_acceptance_test.go | 8 +- pkg/resources/stage_acceptance_test.go | 5 +- pkg/resources/stage_grant_acceptance_test.go | 23 +++- pkg/resources/stream_acceptance_test.go | 14 ++- pkg/resources/stream_grant_acceptance_test.go | 21 +++- pkg/resources/table_acceptance_test.go | 5 + ...king_policy_application_acceptance_test.go | 9 +- pkg/resources/table_grant_acceptance_test.go | 21 +++- pkg/resources/tag_acceptance_test.go | 9 +- .../tag_association_acceptance_test.go | 23 +++- pkg/resources/tag_grant_acceptance_test.go | 7 +- ...king_policy_association_acceptance_test.go | 9 +- pkg/resources/task_acceptance_test.go | 11 +- pkg/resources/task_grant_acceptance_test.go | 25 +++- .../OnAllTablesInSchema/test.tf | 1 + .../OnAllTablesInSchema_NoGrant/test.tf | 2 +- .../OnSchema/test.tf | 1 + .../OnSchema_NoGrant/test.tf | 2 +- .../OnTable/test.tf | 1 + .../OnTag/test.tf | 1 + .../OnView/test.tf | 1 + pkg/resources/user_acceptance_test.go | 12 +- .../user_ownership_grant_acceptance_test.go | 9 +- .../user_public_keys_acceptance_test.go | 9 +- pkg/resources/view_acceptance_test.go | 36 +++--- pkg/resources/view_grant_acceptance_test.go | 24 +++- pkg/sdk/random.go | 4 + pkg/sdk/testint/helpers_test.go | 3 +- 91 files changed, 923 insertions(+), 368 deletions(-) delete mode 100644 pkg/datasources/helpers_test.go diff --git a/Makefile b/Makefile index af8de1bc3b..5c96f816c3 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ test: test-client ## run unit and integration tests go test -v -cover -timeout=30m ./... test-acceptance: ## run acceptance tests - TF_ACC=1 go test -run "^TestAcc_" -v -cover -timeout=60m ./... + TF_ACC=1 SF_TF_ACC_TEST_CONFIGURE_CLIENT_ONCE=true go test -run "^TestAcc_" -v -cover -timeout=60m ./... test-integration: ## run SDK integration tests go test -run "^TestInt_" -v -cover -timeout=30m ./... diff --git a/docs/resources/role_grants.md b/docs/resources/role_grants.md index 4482706ba1..ede17f3c8d 100644 --- a/docs/resources/role_grants.md +++ b/docs/resources/role_grants.md @@ -7,7 +7,7 @@ description: |- # snowflake_role_grants (Resource) - +~> **Deprecation** This resource is deprecated and will be removed in a future major version release. Please use [snowflake_grant_privileges_to_account_role](./grant_privileges_to_account_role) instead. ## Example Usage diff --git a/pkg/acceptance/testing.go b/pkg/acceptance/testing.go index fdf5992580..49eb8bd7f6 100644 --- a/pkg/acceptance/testing.go +++ b/pkg/acceptance/testing.go @@ -2,6 +2,7 @@ package acceptance import ( "context" + "log" "path/filepath" "strconv" "sync" @@ -9,6 +10,7 @@ import ( "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/provider" "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk" + "github.com/hashicorp/terraform-plugin-go/tfprotov5" "github.com/hashicorp/terraform-plugin-go/tfprotov6" "github.com/hashicorp/terraform-plugin-mux/tf5to6server" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" @@ -22,27 +24,45 @@ const ( TestWarehouseName2 = "terraform_test_warehouse_2" ) -var TestAccProvider *schema.Provider +var ( + TestAccProvider *schema.Provider + v5Server tfprotov5.ProviderServer + v6Server tfprotov6.ProviderServer +) + +func init() { + TestAccProvider = provider.Provider() + v5Server = TestAccProvider.GRPCProvider() + var err error + v6Server, err = tf5to6server.UpgradeServer( + context.Background(), + func() tfprotov5.ProviderServer { + return v5Server + }, + ) + if err != nil { + log.Panicf("Cannot upgrade server from proto v5 to proto v6, failing, err: %v", err) + } + _ = testAccProtoV6ProviderFactoriesNew +} var TestAccProtoV6ProviderFactories = map[string]func() (tfprotov6.ProviderServer, error){ + "snowflake": func() (tfprotov6.ProviderServer, error) { + return v6Server, nil + }, +} + +// if we do not reuse the created objects there is no `Previously configured provider being re-configured.` warning +// currently left for possible usage after other improvements +var testAccProtoV6ProviderFactoriesNew = map[string]func() (tfprotov6.ProviderServer, error){ "snowflake": func() (tfprotov6.ProviderServer, error) { return tf5to6server.UpgradeServer( context.Background(), - TestAccProvider.GRPCProvider, + provider.Provider().GRPCProvider, ) }, } -func init() { - TestAccProvider = provider.Provider() -} - -func TestAccProviders() map[string]*schema.Provider { - return map[string]*schema.Provider{ - "snowflake": provider.Provider(), - } -} - var once sync.Once func TestAccPreCheck(t *testing.T) { @@ -99,11 +119,3 @@ func ConfigurationDirectory(directory string) func(config.TestStepConfigRequest) return filepath.Join("testdata", directory) } } - -// ConfigurationInnerDirectory is similar to ConfigurationSameAsStepN, but instead of index-based directories, -// you can choose a particular one by name. -func ConfigurationInnerDirectory(innerDirectory string) func(config.TestStepConfigRequest) string { - return func(req config.TestStepConfigRequest) string { - return filepath.Join("testdata", req.TestName, innerDirectory) - } -} diff --git a/pkg/datasources/current_account_acceptance_test.go b/pkg/datasources/current_account_acceptance_test.go index 84801d486e..59507ddafd 100644 --- a/pkg/datasources/current_account_acceptance_test.go +++ b/pkg/datasources/current_account_acceptance_test.go @@ -10,7 +10,7 @@ import ( ) func TestAcc_CurrentAccount(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ tfversion.RequireAbove(tfversion.Version1_5_0), diff --git a/pkg/datasources/database_acceptance_test.go b/pkg/datasources/database_acceptance_test.go index b04e7f1557..009f8f5377 100644 --- a/pkg/datasources/database_acceptance_test.go +++ b/pkg/datasources/database_acceptance_test.go @@ -5,15 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Database(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) comment := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/database_roles_acceptance_test.go b/pkg/datasources/database_roles_acceptance_test.go index f1a98e83df..27f9e73c83 100644 --- a/pkg/datasources/database_roles_acceptance_test.go +++ b/pkg/datasources/database_roles_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_DatabaseRoles(t *testing.T) { dbName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) dbRoleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/databases_acceptance_test.go b/pkg/datasources/databases_acceptance_test.go index a430e0c56d..ad2f334778 100644 --- a/pkg/datasources/databases_acceptance_test.go +++ b/pkg/datasources/databases_acceptance_test.go @@ -6,16 +6,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Databases(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) comment := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/external_tables_acceptance_test.go b/pkg/datasources/external_tables_acceptance_test.go index 681395690d..9f026b7c79 100644 --- a/pkg/datasources/external_tables_acceptance_test.go +++ b/pkg/datasources/external_tables_acceptance_test.go @@ -5,8 +5,11 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ExternalTables(t *testing.T) { @@ -14,8 +17,11 @@ func TestAcc_ExternalTables(t *testing.T) { schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) stageName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) externalTableName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/file_formats_acceptance_test.go b/pkg/datasources/file_formats_acceptance_test.go index 57135af9e0..db577d2757 100644 --- a/pkg/datasources/file_formats_acceptance_test.go +++ b/pkg/datasources/file_formats_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_FileFormats(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) fileFormatName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -34,8 +40,11 @@ func TestAcc_FileFormats(t *testing.T) { func TestAcc_FileFormatsEmpty(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/grants_acceptance_test.go b/pkg/datasources/grants_acceptance_test.go index 8cdf0b1308..b17479faab 100644 --- a/pkg/datasources/grants_acceptance_test.go +++ b/pkg/datasources/grants_acceptance_test.go @@ -3,12 +3,18 @@ package datasources_test import ( "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Grants(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/helpers_test.go b/pkg/datasources/helpers_test.go deleted file mode 100644 index 476c98002a..0000000000 --- a/pkg/datasources/helpers_test.go +++ /dev/null @@ -1,13 +0,0 @@ -package datasources_test - -import ( - "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/provider" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" -) - -func providers() map[string]*schema.Provider { - p := provider.Provider() - return map[string]*schema.Provider{ - "snowflake": p, - } -} diff --git a/pkg/datasources/masking_policies_acceptance_test.go b/pkg/datasources/masking_policies_acceptance_test.go index 109c1cab2d..e3e13ca0dd 100644 --- a/pkg/datasources/masking_policies_acceptance_test.go +++ b/pkg/datasources/masking_policies_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_MaskingPolicies(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) maskingPolicyName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/parameters_acceptance_test.go b/pkg/datasources/parameters_acceptance_test.go index 280fc387ba..c2d0f527d7 100644 --- a/pkg/datasources/parameters_acceptance_test.go +++ b/pkg/datasources/parameters_acceptance_test.go @@ -6,15 +6,18 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" - "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ParametersOnAccount(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -32,8 +35,11 @@ func TestAcc_ParametersOnAccount(t *testing.T) { func TestAcc_ParametersOnSession(t *testing.T) { userName := "TEST_USER_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -51,8 +57,11 @@ func TestAcc_ParametersOnSession(t *testing.T) { func TestAcc_ParametersOnObject(t *testing.T) { dbName := "TEST_DB_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/pipes_acceptance_test.go b/pkg/datasources/pipes_acceptance_test.go index 763a26b492..81da7ff329 100644 --- a/pkg/datasources/pipes_acceptance_test.go +++ b/pkg/datasources/pipes_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Pipes(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) pipeName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/role_acceptance_test.go b/pkg/datasources/role_acceptance_test.go index fff163b602..dc84e2a3f3 100644 --- a/pkg/datasources/role_acceptance_test.go +++ b/pkg/datasources/role_acceptance_test.go @@ -16,7 +16,7 @@ func TestAcc_Role(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) comment := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ diff --git a/pkg/datasources/roles_acceptance_test.go b/pkg/datasources/roles_acceptance_test.go index a6dd78148a..c4ba265cec 100644 --- a/pkg/datasources/roles_acceptance_test.go +++ b/pkg/datasources/roles_acceptance_test.go @@ -7,12 +7,12 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" - "github.com/hashicorp/terraform-plugin-testing/config" - "github.com/hashicorp/terraform-plugin-testing/terraform" - "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/hashicorp/terraform-plugin-testing/config" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) const ( @@ -23,8 +23,11 @@ func TestAcc_Roles(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) roleName2 := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) comment := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/schemas_acceptance_test.go b/pkg/datasources/schemas_acceptance_test.go index b7ec235907..ac0987be15 100644 --- a/pkg/datasources/schemas_acceptance_test.go +++ b/pkg/datasources/schemas_acceptance_test.go @@ -5,15 +5,21 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Schemas(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/sequences_acceptance_test.go b/pkg/datasources/sequences_acceptance_test.go index 9cf8414bfd..ab8c4622fd 100644 --- a/pkg/datasources/sequences_acceptance_test.go +++ b/pkg/datasources/sequences_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Sequences(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) sequenceName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -52,7 +58,6 @@ func sequences(databaseName string, schemaName string, sequenceName string) stri data snowflake_sequences "t" { database = snowflake_sequence.t.database schema = snowflake_sequence.t.schema - depends_on = [snowflake_sequence.t] } `, databaseName, schemaName, sequenceName) } diff --git a/pkg/datasources/shares_acceptance_test.go b/pkg/datasources/shares_acceptance_test.go index ce22541721..e371c4bab6 100644 --- a/pkg/datasources/shares_acceptance_test.go +++ b/pkg/datasources/shares_acceptance_test.go @@ -5,8 +5,11 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Shares(t *testing.T) { @@ -15,8 +18,11 @@ func TestAcc_Shares(t *testing.T) { comment := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) pattern := shareName - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/streams_acceptance_test.go b/pkg/datasources/streams_acceptance_test.go index c65f9ded28..2f9d254588 100644 --- a/pkg/datasources/streams_acceptance_test.go +++ b/pkg/datasources/streams_acceptance_test.go @@ -5,8 +5,11 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Streams(t *testing.T) { @@ -14,8 +17,12 @@ func TestAcc_Streams(t *testing.T) { schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) streamName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) tableName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -71,7 +78,6 @@ func streams(databaseName string, schemaName string, tableName string, streamNam data snowflake_streams "t" { database = snowflake_stream.test_stream.database schema = snowflake_stream.test_stream.schema - depends_on = [snowflake_stream.test_stream] } `, databaseName, schemaName, tableName, streamName) } diff --git a/pkg/datasources/system_get_aws_sns_iam_policy_acceptance_test.go b/pkg/datasources/system_get_aws_sns_iam_policy_acceptance_test.go index da0d774be9..82cf0659a1 100644 --- a/pkg/datasources/system_get_aws_sns_iam_policy_acceptance_test.go +++ b/pkg/datasources/system_get_aws_sns_iam_policy_acceptance_test.go @@ -3,12 +3,18 @@ package datasources_test import ( "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SystemGetAWSSNSIAMPolicy_basic(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/system_get_privatelink_config_acceptance_test.go b/pkg/datasources/system_get_privatelink_config_acceptance_test.go index 2193ab0bfd..c74cd2e557 100644 --- a/pkg/datasources/system_get_privatelink_config_acceptance_test.go +++ b/pkg/datasources/system_get_privatelink_config_acceptance_test.go @@ -3,12 +3,18 @@ package datasources_test import ( "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SystemGetPrivateLinkConfig_aws(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/system_get_snowflake_platform_info_acceptance_test.go b/pkg/datasources/system_get_snowflake_platform_info_acceptance_test.go index e15ae5d021..c0aa46d971 100644 --- a/pkg/datasources/system_get_snowflake_platform_info_acceptance_test.go +++ b/pkg/datasources/system_get_snowflake_platform_info_acceptance_test.go @@ -3,12 +3,18 @@ package datasources_test import ( "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SystemGetSnowflakePlatformInfo(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/tables_acceptance_test.go b/pkg/datasources/tables_acceptance_test.go index 9205e3a033..d8b60e0381 100644 --- a/pkg/datasources/tables_acceptance_test.go +++ b/pkg/datasources/tables_acceptance_test.go @@ -18,7 +18,7 @@ func TestAcc_Tables(t *testing.T) { tableName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) stageName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) externalTableName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ diff --git a/pkg/datasources/tasks_acceptance_test.go b/pkg/datasources/tasks_acceptance_test.go index d4ada2ec70..eeac72f66b 100644 --- a/pkg/datasources/tasks_acceptance_test.go +++ b/pkg/datasources/tasks_acceptance_test.go @@ -5,16 +5,22 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Tasks(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) taskName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/datasources/users_acceptance_test.go b/pkg/datasources/users_acceptance_test.go index 598bff50bf..a58de3c6c4 100644 --- a/pkg/datasources/users_acceptance_test.go +++ b/pkg/datasources/users_acceptance_test.go @@ -5,14 +5,20 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Users(t *testing.T) { userName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, Steps: []resource.TestStep{ { Config: users(userName), diff --git a/pkg/datasources/views_acceptance_test.go b/pkg/datasources/views_acceptance_test.go index a18686d6fb..cf8d32664e 100644 --- a/pkg/datasources/views_acceptance_test.go +++ b/pkg/datasources/views_acceptance_test.go @@ -16,7 +16,7 @@ func TestAcc_Views(t *testing.T) { databaseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) schemaName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) viewName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ diff --git a/pkg/datasources/warehouses_acceptance_test.go b/pkg/datasources/warehouses_acceptance_test.go index c90c848a63..a2dc914036 100644 --- a/pkg/datasources/warehouses_acceptance_test.go +++ b/pkg/datasources/warehouses_acceptance_test.go @@ -5,14 +5,20 @@ import ( "strings" "testing" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Warehouses(t *testing.T) { warehouseName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/provider/provider.go b/pkg/provider/provider.go index 3c69df8a97..5e2fce2aae 100644 --- a/pkg/provider/provider.go +++ b/pkg/provider/provider.go @@ -5,18 +5,17 @@ import ( "fmt" "net" "net/url" + "os" "regexp" "strings" "time" - "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/internal/provider" - - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/snowflakedb/gosnowflake" - "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/datasources" + "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/internal/provider" "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/resources" "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/snowflakedb/gosnowflake" ) func init() { @@ -572,7 +571,22 @@ func getDataSources() map[string]*schema.Resource { return dataSources } +var ( + configuredClient *sdk.Client + configureClientError error //nolint:errname +) + func ConfigureProvider(s *schema.ResourceData) (interface{}, error) { + // hacky way to speed up our acceptance tests + if os.Getenv("TF_ACC") != "" && os.Getenv("SF_TF_ACC_TEST_CONFIGURE_CLIENT_ONCE") == "true" { + if configuredClient != nil { + return &provider.Context{Client: configuredClient}, nil + } + if configureClientError != nil { + return nil, configureClientError + } + } + config := &gosnowflake.Config{ Application: "terraform-provider-snowflake", } @@ -775,14 +789,11 @@ func ConfigureProvider(s *schema.ResourceData) (interface{}, error) { } } - client, err := sdk.NewClient(config) - if err != nil { - return nil, err - } + configuredClient, configureClientError = sdk.NewClient(config) - providerContext := &provider.Context{ - Client: client, + if configureClientError != nil { + return nil, configureClientError } - return providerContext, nil + return &provider.Context{Client: configuredClient}, nil } diff --git a/pkg/resources/account_acceptance_test.go b/pkg/resources/account_acceptance_test.go index 002f1fec96..c7d3933af0 100644 --- a/pkg/resources/account_acceptance_test.go +++ b/pkg/resources/account_acceptance_test.go @@ -10,6 +10,7 @@ import ( "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance/testenvs" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Account_complete(t *testing.T) { @@ -18,9 +19,12 @@ func TestAcc_Account_complete(t *testing.T) { accountName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) password := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) + "123ABC" - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, // this errors with: Error running post-test destroy, there may be dangling resources: exit status 1 // unless we change the resource to return nil on destroy then this is unavoidable diff --git a/pkg/resources/account_grant_acceptance_test.go b/pkg/resources/account_grant_acceptance_test.go index fe96044127..c94e502ac8 100644 --- a/pkg/resources/account_grant_acceptance_test.go +++ b/pkg/resources/account_grant_acceptance_test.go @@ -6,16 +6,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_AccountGrant_defaults(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -47,9 +52,12 @@ func TestAcc_AccountGrant_defaults(t *testing.T) { func TestAcc_AccountGrantManagedTask(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -65,9 +73,12 @@ func TestAcc_AccountGrantManagedTask(t *testing.T) { func TestAcc_AccountGrantManageSupportCases(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -83,9 +94,12 @@ func TestAcc_AccountGrantManageSupportCases(t *testing.T) { func TestAcc_AccountGrantManageWarehouses(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/account_parameter_acceptance_test.go b/pkg/resources/account_parameter_acceptance_test.go index 61ef793c13..72d8f0a71e 100644 --- a/pkg/resources/account_parameter_acceptance_test.go +++ b/pkg/resources/account_parameter_acceptance_test.go @@ -5,13 +5,18 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_AccountParameter(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -36,9 +41,12 @@ resource "snowflake_account_parameter" "p" { } func TestAcc_AccountParameter_PREVENT_LOAD_FROM_INLINE_URL(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -53,9 +61,12 @@ func TestAcc_AccountParameter_PREVENT_LOAD_FROM_INLINE_URL(t *testing.T) { } func TestAcc_AccountParameter_REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/account_password_policy_attachment_acceptance_test.go b/pkg/resources/account_password_policy_attachment_acceptance_test.go index 6cc88eb0a9..a26044250c 100644 --- a/pkg/resources/account_password_policy_attachment_acceptance_test.go +++ b/pkg/resources/account_password_policy_attachment_acceptance_test.go @@ -6,16 +6,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_AccountPasswordPolicyAttachment(t *testing.T) { prefix := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/alert_acceptance_test.go b/pkg/resources/alert_acceptance_test.go index f4e78eb593..162890636f 100644 --- a/pkg/resources/alert_acceptance_test.go +++ b/pkg/resources/alert_acceptance_test.go @@ -9,8 +9,10 @@ import ( "text/template" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) type ( @@ -32,11 +34,10 @@ type ( ) var ( - warehouseName = "wh_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - alertName = "a_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) + alertName = "a_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) alertInitialState = &AccAlertTestSettings{ //nolint - WarehouseName: warehouseName, + WarehouseName: acc.TestWarehouseName, DatabaseName: acc.TestDatabaseName, Alert: &AlertSettings{ Name: alertName, @@ -51,7 +52,7 @@ var ( // Changes: condition, action, comment, schedule. alertStepOne = &AccAlertTestSettings{ //nolint - WarehouseName: warehouseName, + WarehouseName: acc.TestWarehouseName, DatabaseName: acc.TestDatabaseName, Alert: &AlertSettings{ Name: alertName, @@ -66,7 +67,7 @@ var ( // Changes: condition, action, comment, schedule. alertStepTwo = &AccAlertTestSettings{ //nolint - WarehouseName: warehouseName, + WarehouseName: acc.TestWarehouseName, DatabaseName: acc.TestDatabaseName, Alert: &AlertSettings{ Name: alertName, @@ -81,7 +82,7 @@ var ( // Changes: condition, action, comment, schedule. alertStepThree = &AccAlertTestSettings{ //nolint - WarehouseName: warehouseName, + WarehouseName: acc.TestWarehouseName, DatabaseName: acc.TestDatabaseName, Alert: &AlertSettings{ Name: alertName, @@ -96,8 +97,11 @@ var ( func TestAcc_Alert(t *testing.T) { resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -171,14 +175,11 @@ func TestAcc_Alert(t *testing.T) { func alertConfig(settings *AccAlertTestSettings) string { //nolint config, err := template.New("alert_acceptance_test_config").Parse(` -resource "snowflake_warehouse" "test_wh" { - name = "{{ .WarehouseName }}" -} resource "snowflake_alert" "test_alert" { name = "{{ .Alert.Name }}" database = "{{ .DatabaseName }}" schema = "{{ .Alert.Schema }}" - warehouse = snowflake_warehouse.test_wh.name + warehouse = "{{ .WarehouseName }}" alert_schedule { interval = "{{ .Alert.Schedule }}" } diff --git a/pkg/resources/database_grant_acceptance_test.go b/pkg/resources/database_grant_acceptance_test.go index 55de7bf4c3..cf88a3116a 100644 --- a/pkg/resources/database_grant_acceptance_test.go +++ b/pkg/resources/database_grant_acceptance_test.go @@ -6,9 +6,11 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func testRolesAndShares(t *testing.T, path string, roles []string) func(*terraform.State) error { @@ -37,9 +39,12 @@ func TestAcc_DatabaseGrant(t *testing.T) { roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) shareName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -72,8 +77,11 @@ func TestAcc_DatabaseGrant(t *testing.T) { // dbName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) // roleName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) -// resource.ParallelTest(t, resource.TestCase{ -// Providers: providers(), +// resource.Test(t, resource.TestCase{ +// ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, +// TerraformVersionChecks: []tfversion.TerraformVersionCheck{ +// tfversion.RequireAbove(tfversion.Version1_5_0), +// }, // Steps: []resource.TestStep{ // { // // Note the DB we're trying to grant to doesn't exist diff --git a/pkg/resources/database_role_acceptance_test.go b/pkg/resources/database_role_acceptance_test.go index 9729a449eb..a50480b4f6 100644 --- a/pkg/resources/database_role_acceptance_test.go +++ b/pkg/resources/database_role_acceptance_test.go @@ -6,8 +6,10 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_DatabaseRole(t *testing.T) { @@ -17,8 +19,11 @@ func TestAcc_DatabaseRole(t *testing.T) { comment2 := "test comment" resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/external_oauth_integration_acceptance_test.go b/pkg/resources/external_oauth_integration_acceptance_test.go index 836962ab86..8ae92f4d0b 100644 --- a/pkg/resources/external_oauth_integration_acceptance_test.go +++ b/pkg/resources/external_oauth_integration_acceptance_test.go @@ -6,9 +6,11 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/google/uuid" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ExternalOauthIntegration(t *testing.T) { @@ -17,9 +19,12 @@ func TestAcc_ExternalOauthIntegration(t *testing.T) { issuer := fmt.Sprintf("https://sts.windows.net/%s", uuid.NewString()) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -50,9 +55,12 @@ func TestAcc_ExternalOauthIntegrationEmptyComment(t *testing.T) { issuer := fmt.Sprintf("https://sts.windows.net/%s", uuid.NewString()) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -83,9 +91,12 @@ func TestAcc_ExternalOauthIntegrationLowercaseName(t *testing.T) { issuer := fmt.Sprintf("https://sts.windows.net/%s", uuid.NewString()) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -116,9 +127,12 @@ func TestAcc_ExternalOauthIntegrationCustom(t *testing.T) { issuer := fmt.Sprintf("https://sts.windows.net/%s", uuid.NewString()) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/external_stage_acceptance_test.go b/pkg/resources/external_stage_acceptance_test.go index 64f8fbb0c8..469d2abc53 100644 --- a/pkg/resources/external_stage_acceptance_test.go +++ b/pkg/resources/external_stage_acceptance_test.go @@ -6,16 +6,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ExternalStage(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/external_table_grant_acceptance_test.go b/pkg/resources/external_table_grant_acceptance_test.go index 58a7db59a9..1e8f9629eb 100644 --- a/pkg/resources/external_table_grant_acceptance_test.go +++ b/pkg/resources/external_table_grant_acceptance_test.go @@ -6,16 +6,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ExternalTableGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -45,9 +50,12 @@ func TestAcc_ExternalTableGrant_onAll(t *testing.T) { func TestAcc_ExternalTableGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), - PreCheck: func() { acc.TestAccPreCheck(t) }, + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + PreCheck: func() { acc.TestAccPreCheck(t) }, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { diff --git a/pkg/resources/file_format_acceptance_test.go b/pkg/resources/file_format_acceptance_test.go index 7312c9f161..b9057a83f3 100644 --- a/pkg/resources/file_format_acceptance_test.go +++ b/pkg/resources/file_format_acceptance_test.go @@ -13,8 +13,11 @@ import ( func TestAcc_FileFormatCSV(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -74,8 +77,11 @@ func TestAcc_FileFormatCSV(t *testing.T) { func TestAcc_FileFormatJSON(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -111,8 +117,11 @@ func TestAcc_FileFormatJSON(t *testing.T) { func TestAcc_FileFormatAvro(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -137,8 +146,11 @@ func TestAcc_FileFormatAvro(t *testing.T) { func TestAcc_FileFormatORC(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -162,8 +174,11 @@ func TestAcc_FileFormatORC(t *testing.T) { func TestAcc_FileFormatParquet(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -189,8 +204,11 @@ func TestAcc_FileFormatParquet(t *testing.T) { func TestAcc_FileFormatXML(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -219,8 +237,11 @@ func TestAcc_FileFormatXML(t *testing.T) { func TestAcc_FileFormatCSVDefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -245,8 +266,11 @@ func TestAcc_FileFormatCSVDefaults(t *testing.T) { func TestAcc_FileFormatJSONDefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -271,8 +295,11 @@ func TestAcc_FileFormatJSONDefaults(t *testing.T) { func TestAcc_FileFormatAVRODefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -297,8 +324,11 @@ func TestAcc_FileFormatAVRODefaults(t *testing.T) { func TestAcc_FileFormatORCDefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -323,8 +353,11 @@ func TestAcc_FileFormatORCDefaults(t *testing.T) { func TestAcc_FileFormatPARQUETDefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -349,8 +382,11 @@ func TestAcc_FileFormatPARQUETDefaults(t *testing.T) { func TestAcc_FileFormatXMLDefaults(t *testing.T) { accName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/file_format_grant_acceptance_test.go b/pkg/resources/file_format_grant_acceptance_test.go index ff5c37c287..834ace93a8 100644 --- a/pkg/resources/file_format_grant_acceptance_test.go +++ b/pkg/resources/file_format_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_FileFormatGrant_defaults(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -55,8 +60,11 @@ func TestAcc_FileFormatGrant_defaults(t *testing.T) { func TestAcc_FileFormatGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -87,8 +95,11 @@ func TestAcc_FileFormatGrant_onAll(t *testing.T) { func TestAcc_FileFormatGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/function_grant_acceptance_test.go b/pkg/resources/function_grant_acceptance_test.go index 0102b99cca..8c1516322e 100644 --- a/pkg/resources/function_grant_acceptance_test.go +++ b/pkg/resources/function_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_FunctionGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -45,8 +50,11 @@ func TestAcc_FunctionGrant_onFuture(t *testing.T) { func TestAcc_FunctionGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/grant_privileges_to_role_acceptance_test.go b/pkg/resources/grant_privileges_to_role_acceptance_test.go index 501a5f3b61..40a11ee89d 100644 --- a/pkg/resources/grant_privileges_to_role_acceptance_test.go +++ b/pkg/resources/grant_privileges_to_role_acceptance_test.go @@ -7,26 +7,27 @@ import ( "strings" "testing" - "github.com/hashicorp/terraform-plugin-testing/config" - "github.com/hashicorp/terraform-plugin-testing/terraform" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/hashicorp/terraform-plugin-testing/plancheck" + acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk" - "github.com/hashicorp/terraform-plugin-testing/tfversion" - - acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/config" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/plancheck" + "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfversion" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestAcc_GrantPrivilegesToRole_onAccount(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -111,8 +112,11 @@ func TestAcc_GrantPrivilegesToRole_OnSchema_InfinitePlan(t *testing.T) { func TestAcc_GrantPrivilegesToRole_onAccountAllPrivileges(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: providers(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, CheckDestroy: nil, Steps: []resource.TestStep{ { @@ -170,8 +174,11 @@ func grantPrivilegesToRole_onAccountConfigAllPrivileges(name string) string { func TestAcc_GrantPrivilegesToRole_onAccountObject(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -209,8 +216,11 @@ func TestAcc_GrantPrivilegesToRole_onAccountObject(t *testing.T) { func TestAcc_GrantPrivilegesToRole_onAccountObjectAllPrivileges(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -276,8 +286,11 @@ func grantPrivilegesToRole_onAccountObjectConfigAllPrivileges(name string, datab func TestAcc_GrantPrivilegesToRole_onSchema(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -351,8 +364,11 @@ func grantPrivilegesToRole_onSchemaConfigAllPrivileges(name string, databaseName func TestAcc_GrantPrivilegesToRole_onSchemaConfigAllPrivileges(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -378,8 +394,11 @@ func TestAcc_GrantPrivilegesToRole_onSchemaConfigAllPrivileges(t *testing.T) { func TestAcc_GrantPrivilegesToRole_onSchema_allSchemasInDatabase(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -416,8 +435,11 @@ func TestAcc_GrantPrivilegesToRole_onSchema_allSchemasInDatabase(t *testing.T) { func TestAcc_GrantPrivilegesToRole_onSchema_futureSchemasInDatabase(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -489,8 +511,11 @@ func grantPrivilegesToRole_onSchema_futureSchemasInDatabaseConfig(name string, p func TestAcc_GrantPrivilegesToRole_onSchemaObject_objectType(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -559,8 +584,11 @@ func grantPrivilegesToRole_onSchemaObject_objectType(name string, privileges []s func TestAcc_GrantPrivilegesToRole_onSchemaObject_allInSchema(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -623,8 +651,11 @@ func grantPrivilegesToRole_onSchemaObject_allInSchema(name string, privileges [] func TestAcc_GrantPrivilegesToRole_onSchemaObject_allInDatabase(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -687,8 +718,11 @@ func grantPrivilegesToRole_onSchemaObject_allInDatabase(name string, privileges func TestAcc_GrantPrivilegesToRole_onSchemaObject_futureInSchema(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -751,8 +785,11 @@ func grantPrivilegesToRole_onSchemaObject_futureInSchema(name string, privileges func TestAcc_GrantPrivilegesToRole_onSchemaObject_futureInDatabase(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) objectType := "TABLES" - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -815,8 +852,11 @@ func grantPrivilegesToRole_onSchemaObject_futureInDatabase(name string, objectTy func TestAcc_GrantPrivilegesToRole_multipleResources(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -885,7 +925,10 @@ func TestAcc_GrantPrivilegesToRole_onSchemaObject_futureInDatabase_externalTable name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) objectType := "EXTERNAL TABLES" resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/internal_stage_acceptance_test.go b/pkg/resources/internal_stage_acceptance_test.go index fccea3832a..57f4c62af7 100644 --- a/pkg/resources/internal_stage_acceptance_test.go +++ b/pkg/resources/internal_stage_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_InternalStage(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/masking_policy_acceptance_test.go b/pkg/resources/masking_policy_acceptance_test.go index dab09f717d..76d71f3d81 100644 --- a/pkg/resources/masking_policy_acceptance_test.go +++ b/pkg/resources/masking_policy_acceptance_test.go @@ -6,8 +6,10 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_MaskingPolicy(t *testing.T) { @@ -15,8 +17,11 @@ func TestAcc_MaskingPolicy(t *testing.T) { accName2 := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) comment := "Terraform acceptance test" comment2 := "Terraform acceptance test 2" - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/masking_policy_grant_acceptance_test.go b/pkg/resources/masking_policy_grant_acceptance_test.go index fc435e2555..9cd36651c6 100644 --- a/pkg/resources/masking_policy_grant_acceptance_test.go +++ b/pkg/resources/masking_policy_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_MaskingPolicyGrant(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/materialized_view_grant_acceptance_test.go b/pkg/resources/materialized_view_grant_acceptance_test.go index f3047710a5..1dc0f704f7 100644 --- a/pkg/resources/materialized_view_grant_acceptance_test.go +++ b/pkg/resources/materialized_view_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_MaterializedViewFutureGrant(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -45,8 +50,11 @@ func TestAcc_MaterializedViewFutureGrant(t *testing.T) { func TestAcc_MaterializedViewAllGrant(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/oauth_integration_acceptance_test.go b/pkg/resources/oauth_integration_acceptance_test.go index f2fa188bf7..15eb8ff196 100644 --- a/pkg/resources/oauth_integration_acceptance_test.go +++ b/pkg/resources/oauth_integration_acceptance_test.go @@ -6,8 +6,10 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_OAuthIntegration(t *testing.T) { @@ -15,8 +17,11 @@ func TestAcc_OAuthIntegration(t *testing.T) { oauthClient := "CUSTOM" clientType := "PUBLIC" - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -70,8 +75,11 @@ func TestAcc_OAuthIntegrationTableau(t *testing.T) { oauthClient := "TABLEAU_DESKTOP" clientType := "PUBLIC" // not used, but left to fail the test - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/object_parameter_acceptance_test.go b/pkg/resources/object_parameter_acceptance_test.go index 75060270d4..7985f14583 100644 --- a/pkg/resources/object_parameter_acceptance_test.go +++ b/pkg/resources/object_parameter_acceptance_test.go @@ -5,12 +5,17 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ObjectParameter(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -27,8 +32,11 @@ func TestAcc_ObjectParameter(t *testing.T) { } func TestAcc_ObjectParameterAccount(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/pipe_grant_acceptance_test.go b/pkg/resources/pipe_grant_acceptance_test.go index 374751147a..315dae9008 100644 --- a/pkg/resources/pipe_grant_acceptance_test.go +++ b/pkg/resources/pipe_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_PipeGrant(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -54,7 +59,10 @@ func TestAcc_PipeGrantWithDefaultPrivilege(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/procedure_grant_acceptance_test.go b/pkg/resources/procedure_grant_acceptance_test.go index 7e40364718..0468ebfa4c 100644 --- a/pkg/resources/procedure_grant_acceptance_test.go +++ b/pkg/resources/procedure_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ProcedureGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -44,8 +49,11 @@ func TestAcc_ProcedureGrant_onAll(t *testing.T) { func TestAcc_ProcedureGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/resource_monitor_grant_acceptance_test.go b/pkg/resources/resource_monitor_grant_acceptance_test.go index f084f95f65..1f856136e3 100644 --- a/pkg/resources/resource_monitor_grant_acceptance_test.go +++ b/pkg/resources/resource_monitor_grant_acceptance_test.go @@ -5,16 +5,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_ResourceMonitor_defaults(t *testing.T) { wName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) roleName := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/role_acceptance_test.go b/pkg/resources/role_acceptance_test.go index 023b40d402..a9345c1280 100644 --- a/pkg/resources/role_acceptance_test.go +++ b/pkg/resources/role_acceptance_test.go @@ -22,8 +22,11 @@ func TestAcc_Role(t *testing.T) { name := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) name2 := "5tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/role_grants.go b/pkg/resources/role_grants.go index 6c57c19162..5ec017fce0 100644 --- a/pkg/resources/role_grants.go +++ b/pkg/resources/role_grants.go @@ -21,10 +21,11 @@ import ( func RoleGrants() *schema.Resource { return &schema.Resource{ - Create: CreateRoleGrants, - Read: ReadRoleGrants, - Delete: DeleteRoleGrants, - Update: UpdateRoleGrants, + Create: CreateRoleGrants, + Read: ReadRoleGrants, + Delete: DeleteRoleGrants, + Update: UpdateRoleGrants, + DeprecationMessage: "This resource is deprecated and will be removed in a future major version release. Please use snowflake_grant_privileges_to_account_role instead.", Schema: map[string]*schema.Schema{ "role_name": { diff --git a/pkg/resources/role_grants_acceptance_test.go b/pkg/resources/role_grants_acceptance_test.go index 0c143abd6a..337ef188e1 100644 --- a/pkg/resources/role_grants_acceptance_test.go +++ b/pkg/resources/role_grants_acceptance_test.go @@ -10,9 +10,11 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-plugin-testing/terraform" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func mustParseInt(t *testing.T, input string) int64 { @@ -112,8 +114,11 @@ func TestAcc_RoleGrant(t *testing.T) { ), } - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/role_ownership_grant_acceptance_test.go b/pkg/resources/role_ownership_grant_acceptance_test.go index 50cb346c9f..0125e0ba18 100644 --- a/pkg/resources/role_ownership_grant_acceptance_test.go +++ b/pkg/resources/role_ownership_grant_acceptance_test.go @@ -5,16 +5,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_RoleOwnershipGrant_defaults(t *testing.T) { onRoleName := "tst-terraform" + acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) toRoleName := "tst-terraform" + acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/row_access_policy_grant_acceptance_test.go b/pkg/resources/row_access_policy_grant_acceptance_test.go index 75f3df539e..ea110c9939 100644 --- a/pkg/resources/row_access_policy_grant_acceptance_test.go +++ b/pkg/resources/row_access_policy_grant_acceptance_test.go @@ -15,7 +15,7 @@ import ( func TestAcc_RowAccessPolicyGrant(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ diff --git a/pkg/resources/saml_integration_acceptance_test.go b/pkg/resources/saml_integration_acceptance_test.go index c086c37342..89e425508a 100644 --- a/pkg/resources/saml_integration_acceptance_test.go +++ b/pkg/resources/saml_integration_acceptance_test.go @@ -10,6 +10,7 @@ import ( "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance/testenvs" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SamlIntegration(t *testing.T) { @@ -19,7 +20,10 @@ func TestAcc_SamlIntegration(t *testing.T) { samlIntName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/schema_grant_acceptance_test.go b/pkg/resources/schema_grant_acceptance_test.go index 70ee06e0a5..1cd2af6a76 100644 --- a/pkg/resources/schema_grant_acceptance_test.go +++ b/pkg/resources/schema_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SchemaGrant(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -54,7 +59,10 @@ func TestAcc_SchemaGrantOnAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/scim_integration_acceptance_test.go b/pkg/resources/scim_integration_acceptance_test.go index fde9346b8a..11eb4c9260 100644 --- a/pkg/resources/scim_integration_acceptance_test.go +++ b/pkg/resources/scim_integration_acceptance_test.go @@ -17,7 +17,7 @@ func TestAcc_ScimIntegration(t *testing.T) { scimProvisionerRole := "AAD_PROVISIONER" scimNetworkPolicy := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, TerraformVersionChecks: []tfversion.TerraformVersionCheck{ diff --git a/pkg/resources/sequence_acceptance_test.go b/pkg/resources/sequence_acceptance_test.go index 97458927d4..2e0534d15b 100644 --- a/pkg/resources/sequence_acceptance_test.go +++ b/pkg/resources/sequence_acceptance_test.go @@ -6,16 +6,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Sequence(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) accRename := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/sequence_grant_acceptance_test.go b/pkg/resources/sequence_grant_acceptance_test.go index d94e2a4dda..cb4c2d467f 100644 --- a/pkg/resources/sequence_grant_acceptance_test.go +++ b/pkg/resources/sequence_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SequenceGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -44,8 +49,11 @@ func TestAcc_SequenceGrant_onFuture(t *testing.T) { func TestAcc_SequenceGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/session_parameter_acceptance_test.go b/pkg/resources/session_parameter_acceptance_test.go index 54adf81bed..1c6335bf84 100644 --- a/pkg/resources/session_parameter_acceptance_test.go +++ b/pkg/resources/session_parameter_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_SessionParameterWithUser(t *testing.T) { prefix := "TEST_USER_" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -32,8 +37,11 @@ func TestAcc_SessionParameterWithUser(t *testing.T) { } func TestAcc_SessionParameterOnAccount(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/share_acceptance_test.go b/pkg/resources/share_acceptance_test.go index 0809f4fb96..eac0f0be6d 100644 --- a/pkg/resources/share_acceptance_test.go +++ b/pkg/resources/share_acceptance_test.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Share(t *testing.T) { @@ -19,8 +20,11 @@ func TestAcc_Share(t *testing.T) { shareComment := "Created by a Terraform acceptance test" name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/stage_acceptance_test.go b/pkg/resources/stage_acceptance_test.go index a2ce570497..f1938e8786 100644 --- a/pkg/resources/stage_acceptance_test.go +++ b/pkg/resources/stage_acceptance_test.go @@ -18,7 +18,10 @@ func TestAcc_StageAlterWhenBothURLAndStorageIntegrationChange(t *testing.T) { name := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/stage_grant_acceptance_test.go b/pkg/resources/stage_grant_acceptance_test.go index 606c850286..eb3d4564a4 100644 --- a/pkg/resources/stage_grant_acceptance_test.go +++ b/pkg/resources/stage_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_StageGrant_defaults(t *testing.T) { name := acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -92,8 +97,11 @@ func stageGrantConfig(name string, grantType grantType, privilege string, databa func TestAcc_StageFutureGrant(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -125,8 +133,11 @@ func TestAcc_StageFutureGrant(t *testing.T) { func TestAcc_StageGrantOnAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/stream_acceptance_test.go b/pkg/resources/stream_acceptance_test.go index 619d5e1b8f..630b4ae7d8 100644 --- a/pkg/resources/stream_acceptance_test.go +++ b/pkg/resources/stream_acceptance_test.go @@ -17,8 +17,11 @@ import ( func TestAcc_StreamCreateOnStageWithoutDirectoryEnabled(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -32,8 +35,11 @@ func TestAcc_StreamCreateOnStageWithoutDirectoryEnabled(t *testing.T) { func TestAcc_StreamCreateOnStage(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/stream_grant_acceptance_test.go b/pkg/resources/stream_grant_acceptance_test.go index c6af4f57ab..477a6a05c0 100644 --- a/pkg/resources/stream_grant_acceptance_test.go +++ b/pkg/resources/stream_grant_acceptance_test.go @@ -6,8 +6,10 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_StreamGrant_basic(t *testing.T) { @@ -15,7 +17,10 @@ func TestAcc_StreamGrant_basic(t *testing.T) { streamName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -58,8 +63,11 @@ func TestAcc_StreamGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) streamName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -90,8 +98,11 @@ func TestAcc_StreamGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) streamName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/table_acceptance_test.go b/pkg/resources/table_acceptance_test.go index 01a5ec93cd..ced83e9108 100644 --- a/pkg/resources/table_acceptance_test.go +++ b/pkg/resources/table_acceptance_test.go @@ -452,6 +452,7 @@ resource "snowflake_table" "test_table" { type = "VARCHAR(16)" } } + resource "snowflake_object_parameter" "data_retention_in_time" { key = "DATA_RETENTION_TIME_IN_DAYS" value = "30" @@ -461,6 +462,7 @@ resource "snowflake_object_parameter" "data_retention_in_time" { database = "%s" schema = "%s" } + depends_on = [snowflake_table.test_table] } ` return fmt.Sprintf(s, name, databaseName, schemaName, name, databaseName, schemaName) @@ -488,6 +490,7 @@ resource "snowflake_table" "test_table" { ] } } + resource "snowflake_object_parameter" "data_retention_in_time" { key = "DATA_RETENTION_TIME_IN_DAYS" value = "30" @@ -497,6 +500,7 @@ resource "snowflake_object_parameter" "data_retention_in_time" { database = "%s" schema = "%s" } + depends_on = [snowflake_table.test_table] } ` return fmt.Sprintf(s, name, databaseName, schemaName, name, databaseName, schemaName) @@ -532,6 +536,7 @@ resource "snowflake_object_parameter" "data_retention_in_time" { database = "%s" schema = "%s" } + depends_on = [snowflake_table.test_table] } ` return fmt.Sprintf(s, name, databaseName, schemaName, name, databaseName, schemaName) diff --git a/pkg/resources/table_column_masking_policy_application_acceptance_test.go b/pkg/resources/table_column_masking_policy_application_acceptance_test.go index 806d53504c..10b9e4a8b7 100644 --- a/pkg/resources/table_column_masking_policy_application_acceptance_test.go +++ b/pkg/resources/table_column_masking_policy_application_acceptance_test.go @@ -5,12 +5,17 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TableColumnMaskingPolicyApplication(t *testing.T) { - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/table_grant_acceptance_test.go b/pkg/resources/table_grant_acceptance_test.go index 0f4569b4de..18d3a149ee 100644 --- a/pkg/resources/table_grant_acceptance_test.go +++ b/pkg/resources/table_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TableGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -48,8 +53,11 @@ func TestAcc_TableGrant_onAll(t *testing.T) { func TestAcc_TableGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -85,7 +93,10 @@ func TestAcc_TableGrant_defaults(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/tag_acceptance_test.go b/pkg/resources/tag_acceptance_test.go index cc69c18060..5b340a05f1 100644 --- a/pkg/resources/tag_acceptance_test.go +++ b/pkg/resources/tag_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_Tag(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/tag_association_acceptance_test.go b/pkg/resources/tag_association_acceptance_test.go index 4b44df3673..e982447ced 100644 --- a/pkg/resources/tag_association_acceptance_test.go +++ b/pkg/resources/tag_association_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TagAssociation(t *testing.T) { accName := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -33,8 +38,11 @@ func TestAcc_TagAssociation(t *testing.T) { func TestAcc_TagAssociationSchema(t *testing.T) { accName := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -52,8 +60,11 @@ func TestAcc_TagAssociationColumn(t *testing.T) { accName := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) accName2 := "tst-terraform" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/tag_grant_acceptance_test.go b/pkg/resources/tag_grant_acceptance_test.go index 81f69b789c..3096ade93f 100644 --- a/pkg/resources/tag_grant_acceptance_test.go +++ b/pkg/resources/tag_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TagGrant(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/tag_masking_policy_association_acceptance_test.go b/pkg/resources/tag_masking_policy_association_acceptance_test.go index 96fcaa9897..5bf5fc2d7d 100644 --- a/pkg/resources/tag_masking_policy_association_acceptance_test.go +++ b/pkg/resources/tag_masking_policy_association_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TagMaskingPolicyAssociation(t *testing.T) { accName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/task_acceptance_test.go b/pkg/resources/task_acceptance_test.go index e32d59af5d..8450caf84c 100644 --- a/pkg/resources/task_acceptance_test.go +++ b/pkg/resources/task_acceptance_test.go @@ -192,7 +192,10 @@ var ( func TestAcc_Task(t *testing.T) { resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -419,7 +422,10 @@ todo: this test is failing due to error message below. Need to figure out why th func TestAcc_Task_Managed(t *testing.T) { accName := "tst-terraform-" + strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -612,6 +618,7 @@ resource "snowflake_task" "test_task_root" { } resource "snowflake_task" "test_task" { + depends_on = [snowflake_task.test_task_root] name = "%[4]s" database = "%[2]s" schema = "%[3]s" diff --git a/pkg/resources/task_grant_acceptance_test.go b/pkg/resources/task_grant_acceptance_test.go index 1e27577294..907a5e7d14 100644 --- a/pkg/resources/task_grant_acceptance_test.go +++ b/pkg/resources/task_grant_acceptance_test.go @@ -6,15 +6,20 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_TaskGrant(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -70,7 +75,10 @@ func TestAcc_TaskGrant_onAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -104,7 +112,10 @@ func TestAcc_TaskGrant_onFuture(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -163,7 +174,7 @@ resource "snowflake_task" "test" { schema = "%s" warehouse = snowflake_warehouse.test.name sql_statement = "SHOW FUNCTIONS" - enabled = true + enabled = false schedule = "15 MINUTES" lifecycle { ignore_changes = [session_parameters] @@ -176,6 +187,7 @@ resource "snowflake_task_grant" "test" { roles = [snowflake_role.test.name] schema_name = "%s" privilege = "%s" + depends_on = [snowflake_task.test] } ` return fmt.Sprintf(s, name, name, concurrency, name, databaseName, schemaName, taskNameConfig, databaseName, schemaName, privilege) @@ -186,7 +198,10 @@ func TestAcc_TaskOwnershipGrant_onFuture(t *testing.T) { new_name := name + "_NEW" resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema/test.tf index 8aeaf9dd80..9489f22e69 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema/test.tf @@ -22,4 +22,5 @@ resource "snowflake_grant_privileges_to_share" "test" { to_share = snowflake_share.test.name privileges = var.privileges on_all_tables_in_schema = "\"${snowflake_schema.test.database}\".\"${snowflake_schema.test.name}\"" + depends_on = [snowflake_grant_privileges_to_share.test_setup] } diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema_NoGrant/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema_NoGrant/test.tf index 1966cf8308..47e13e1119 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema_NoGrant/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnAllTablesInSchema_NoGrant/test.tf @@ -1,5 +1,5 @@ resource "snowflake_share" "test" { - depends_on = [snowflake_database.test] + depends_on = [snowflake_database.test, snowflake_schema.test] name = var.to_share } diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema/test.tf index 00e894ead0..ebf6bc1ae5 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema/test.tf @@ -22,4 +22,5 @@ resource "snowflake_grant_privileges_to_share" "test" { to_share = snowflake_share.test.name privileges = var.privileges on_schema = "\"${snowflake_schema.test.database}\".\"${snowflake_schema.test.name}\"" + depends_on = [snowflake_grant_privileges_to_share.test_setup] } diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema_NoGrant/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema_NoGrant/test.tf index 1966cf8308..47e13e1119 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema_NoGrant/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnSchema_NoGrant/test.tf @@ -1,5 +1,5 @@ resource "snowflake_share" "test" { - depends_on = [snowflake_database.test] + depends_on = [snowflake_database.test, snowflake_schema.test] name = var.to_share } diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTable/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTable/test.tf index d4f5d2de32..ae8370cc24 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTable/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTable/test.tf @@ -32,4 +32,5 @@ resource "snowflake_grant_privileges_to_share" "test" { to_share = snowflake_share.test.name privileges = var.privileges on_table = "\"${snowflake_database.test.name}\".\"${snowflake_schema.test.name}\".\"${snowflake_table.test.name}\"" + depends_on = [snowflake_grant_privileges_to_share.test_setup] } diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTag/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTag/test.tf index e01118e57a..583a2f6ea9 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTag/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnTag/test.tf @@ -28,4 +28,5 @@ resource "snowflake_grant_privileges_to_share" "test" { to_share = snowflake_share.test.name privileges = var.privileges on_tag = "\"${snowflake_database.test.name}\".\"${snowflake_schema.test.name}\".\"${snowflake_tag.test.name}\"" + depends_on = [snowflake_grant_privileges_to_share.test_setup] } \ No newline at end of file diff --git a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnView/test.tf b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnView/test.tf index e108359f16..931f79a9cf 100644 --- a/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnView/test.tf +++ b/pkg/resources/testdata/TestAcc_GrantPrivilegesToShare/OnView/test.tf @@ -40,4 +40,5 @@ resource "snowflake_grant_privileges_to_share" "test" { to_share = snowflake_share.test.name privileges = var.privileges on_view = "\"${snowflake_database.test.name}\".\"${snowflake_schema.test.name}\".\"${snowflake_view.test.name}\"" + depends_on = [snowflake_grant_privileges_to_share.test_setup] } diff --git a/pkg/resources/user_acceptance_test.go b/pkg/resources/user_acceptance_test.go index 986023bf1c..a6eeb3f09e 100644 --- a/pkg/resources/user_acceptance_test.go +++ b/pkg/resources/user_acceptance_test.go @@ -46,8 +46,11 @@ func TestAcc_User(t *testing.T) { sshkey2, err := testhelpers.Fixture("userkey2") r.NoError(err) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -244,7 +247,10 @@ func TestAcc_User_issue2058(t *testing.T) { r.NoError(err) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/user_ownership_grant_acceptance_test.go b/pkg/resources/user_ownership_grant_acceptance_test.go index 0c525a39c4..ab3a3a5bd8 100644 --- a/pkg/resources/user_ownership_grant_acceptance_test.go +++ b/pkg/resources/user_ownership_grant_acceptance_test.go @@ -5,16 +5,21 @@ import ( "testing" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" ) func TestAcc_UserOwnershipGrant_defaults(t *testing.T) { user := "tst-terraform" + acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) role := "tst-terraform" + acctest.RandStringFromCharSet(10, acctest.CharSetAlpha) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/user_public_keys_acceptance_test.go b/pkg/resources/user_public_keys_acceptance_test.go index ec49961551..3fb7b6d277 100644 --- a/pkg/resources/user_public_keys_acceptance_test.go +++ b/pkg/resources/user_public_keys_acceptance_test.go @@ -7,9 +7,11 @@ import ( "text/template" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/testhelpers" "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/stretchr/testify/require" ) @@ -21,8 +23,11 @@ func TestAcc_UserPublicKeys(t *testing.T) { sshkey2, err := testhelpers.Fixture("userkey2") r.NoError(err) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/resources/view_acceptance_test.go b/pkg/resources/view_acceptance_test.go index 41ed89a56b..9e03c9071b 100644 --- a/pkg/resources/view_acceptance_test.go +++ b/pkg/resources/view_acceptance_test.go @@ -353,6 +353,9 @@ func TestAcc_ViewChangeCopyGrantsReversed(t *testing.T) { } func TestAcc_ViewStatementUpdate(t *testing.T) { + tableName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) + viewName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) + resource.Test(t, resource.TestCase{ ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, PreCheck: func() { acc.TestAccPreCheck(t) }, @@ -362,7 +365,7 @@ func TestAcc_ViewStatementUpdate(t *testing.T) { CheckDestroy: testAccCheckViewDestroy, Steps: []resource.TestStep{ { - Config: viewConfigWithGrants(acc.TestDatabaseName, acc.TestSchemaName, `\"name\"`), + Config: viewConfigWithGrants(acc.TestDatabaseName, acc.TestSchemaName, tableName, viewName, `\"name\"`), Check: resource.ComposeTestCheckFunc( // there should be more than one privilege, because we applied grant all privileges and initially there's always one which is ownership resource.TestCheckResourceAttr("data.snowflake_grants.grants", "grants.#", "2"), @@ -370,7 +373,7 @@ func TestAcc_ViewStatementUpdate(t *testing.T) { ), }, { - Config: viewConfigWithGrants(acc.TestDatabaseName, acc.TestSchemaName, "*"), + Config: viewConfigWithGrants(acc.TestDatabaseName, acc.TestSchemaName, tableName, viewName, "*"), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr("data.snowflake_grants.grants", "grants.#", "2"), resource.TestCheckResourceAttr("data.snowflake_grants.grants", "grants.1.privilege", "SELECT"), @@ -412,12 +415,12 @@ func TestAcc_View_copyGrants(t *testing.T) { }) } -func viewConfigWithGrants(databaseName string, schemaName string, selectStatement string) string { +func viewConfigWithGrants(databaseName string, schemaName string, tableName string, viewName string, selectStatement string) string { return fmt.Sprintf(` resource "snowflake_table" "table" { - database = "%s" - schema = "%s" - name = "view_test_table" + database = "%[1]s" + schema = "%[2]s" + name = "%[3]s" column { name = "name" @@ -427,11 +430,11 @@ resource "snowflake_table" "table" { resource "snowflake_view" "test" { depends_on = [snowflake_table.table] - name = "test" + name = "%[4]s" comment = "created by terraform" - database = "%s" - schema = "%s" - statement = "select %s from \"%s\".\"%s\".\"${snowflake_table.table.name}\"" + database = "%[1]s" + schema = "%[2]s" + statement = "select %[5]s from \"%[1]s\".\"%[2]s\".\"${snowflake_table.table.name}\"" or_replace = true copy_grants = true is_secure = true @@ -442,8 +445,8 @@ resource "snowflake_role" "test" { } resource "snowflake_view_grant" "grant" { - database_name = "%s" - schema_name = "%s" + database_name = "%[1]s" + schema_name = "%[2]s" view_name = snowflake_view.test.name privilege = "SELECT" roles = [snowflake_role.test.name] @@ -452,16 +455,11 @@ resource "snowflake_view_grant" "grant" { data "snowflake_grants" "grants" { depends_on = [snowflake_view_grant.grant, snowflake_view.test] grants_on { - object_name = "\"%s\".\"%s\".\"${snowflake_view.test.name}\"" + object_name = "\"%[1]s\".\"%[2]s\".\"${snowflake_view.test.name}\"" object_type = "VIEW" } } - `, databaseName, schemaName, - databaseName, schemaName, - selectStatement, - databaseName, schemaName, - databaseName, schemaName, - databaseName, schemaName) + `, databaseName, schemaName, tableName, viewName, selectStatement) } func viewConfigWithCopyGrants(databaseName string, schemaName string, name string, selectStatement string, copyGrants bool) string { diff --git a/pkg/resources/view_grant_acceptance_test.go b/pkg/resources/view_grant_acceptance_test.go index 8c27671bbe..baf0250d07 100644 --- a/pkg/resources/view_grant_acceptance_test.go +++ b/pkg/resources/view_grant_acceptance_test.go @@ -8,8 +8,10 @@ import ( "text/template" acc "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance" + "github.com/hashicorp/terraform-plugin-testing/helper/acctest" "github.com/hashicorp/terraform-plugin-testing/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/tfversion" "github.com/stretchr/testify/require" ) @@ -17,7 +19,10 @@ func TestAcc_ViewGrantBasic(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -54,7 +59,10 @@ func TestAcc_ViewGrantShares(t *testing.T) { shareName := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -81,7 +89,10 @@ func TestAcc_ViewGrantChange(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) resource.Test(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ @@ -207,8 +218,11 @@ resource "snowflake_view_grant" "test" { func TestAcc_ViewGrantOnAll(t *testing.T) { name := strings.ToUpper(acctest.RandStringFromCharSet(10, acctest.CharSetAlpha)) - resource.ParallelTest(t, resource.TestCase{ - Providers: acc.TestAccProviders(), + resource.Test(t, resource.TestCase{ + ProtoV6ProviderFactories: acc.TestAccProtoV6ProviderFactories, + TerraformVersionChecks: []tfversion.TerraformVersionCheck{ + tfversion.RequireAbove(tfversion.Version1_5_0), + }, PreCheck: func() { acc.TestAccPreCheck(t) }, CheckDestroy: nil, Steps: []resource.TestStep{ diff --git a/pkg/sdk/random.go b/pkg/sdk/random.go index 0a4bb321fb..f92fa2853a 100644 --- a/pkg/sdk/random.go +++ b/pkg/sdk/random.go @@ -42,6 +42,10 @@ func RandomAccountObjectIdentifier() AccountObjectIdentifier { return NewAccountObjectIdentifier(random.StringN(12)) } +func RandomAlphanumericAccountObjectIdentifier() AccountObjectIdentifier { + return NewAccountObjectIdentifier(random.AlphanumericN(12)) +} + func AlphanumericDatabaseObjectIdentifier() DatabaseObjectIdentifier { return NewDatabaseObjectIdentifier(random.AlphanumericN(12), random.AlphanumericN(12)) } diff --git a/pkg/sdk/testint/helpers_test.go b/pkg/sdk/testint/helpers_test.go index 301bca2a3f..7f3033b8f3 100644 --- a/pkg/sdk/testint/helpers_test.go +++ b/pkg/sdk/testint/helpers_test.go @@ -634,7 +634,8 @@ func createFailoverGroupWithOptions(t *testing.T, client *sdk.Client, objectType func createShare(t *testing.T, client *sdk.Client) (*sdk.Share, func()) { t.Helper() - id := sdk.RandomAccountObjectIdentifier() + // TODO(SNOW-1058419): Try with identifier containing dot during identifiers rework + id := sdk.RandomAlphanumericAccountObjectIdentifier() return createShareWithOptions(t, client, id, &sdk.CreateShareOptions{}) }