From 8995d8f6b6ace487e45e1a1a7438f34252de85a8 Mon Sep 17 00:00:00 2001 From: Artur Sawicki Date: Wed, 6 Nov 2024 13:17:39 +0100 Subject: [PATCH] Unskip password policy user attachment test; add a test for v0.87.0 References: #3005 --- ...sword_policy_attachment_acceptance_test.go | 59 ++++++++++++++++++- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/pkg/resources/user_password_policy_attachment_acceptance_test.go b/pkg/resources/user_password_policy_attachment_acceptance_test.go index 1e466cc3c1..ef206ed955 100644 --- a/pkg/resources/user_password_policy_attachment_acceptance_test.go +++ b/pkg/resources/user_password_policy_attachment_acceptance_test.go @@ -10,8 +10,6 @@ import ( ) func TestAcc_UserPasswordPolicyAttachment(t *testing.T) { - // TODO [SNOW-1423486]: unskip - t.Skipf("Skip because error %s; will be fixed in SNOW-1423486", "Error: 000606 (57P03): No active warehouse selected in the current session. Select an active warehouse with the 'use warehouse' command.") userId := acc.TestClient().Ids.RandomAccountObjectIdentifier() userName := userId.Name() newUserId := acc.TestClient().Ids.RandomAccountObjectIdentifier() @@ -41,7 +39,42 @@ func TestAcc_UserPasswordPolicyAttachment(t *testing.T) { Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "user_name", newUserName), resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "password_policy_name", newPasswordPolicyId.FullyQualifiedName()), - resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "id", fmt.Sprintf("%s|%s", userId.FullyQualifiedName(), newPasswordPolicyId.FullyQualifiedName())), + resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "id", fmt.Sprintf("%s|%s", newUserId.FullyQualifiedName(), newPasswordPolicyId.FullyQualifiedName())), + ), + }, + // IMPORT + { + ResourceName: "snowflake_user_password_policy_attachment.ppa", + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + +func TestAcc_UserPasswordPolicyAttachment_gh3005(t *testing.T) { + userId := acc.TestClient().Ids.RandomAccountObjectIdentifier() + userName := userId.Name() + passwordPolicyId := acc.TestClient().Ids.RandomSchemaObjectIdentifier() + passwordPolicyName := passwordPolicyId.Name() + + resource.Test(t, resource.TestCase{ + ExternalProviders: map[string]resource.ExternalProvider{ + "snowflake": { + VersionConstraint: "=0.87.0", + Source: "Snowflake-Labs/snowflake", + }, + }, + PreCheck: func() { acc.TestAccPreCheck(t) }, + CheckDestroy: acc.CheckUserPasswordPolicyAttachmentDestroy(t), + Steps: []resource.TestStep{ + // CREATE + { + Config: userPasswordPolicyAttachmentConfigV087(userName, acc.TestDatabaseName, acc.TestSchemaName, passwordPolicyName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "user_name", userName), + resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "password_policy_name", passwordPolicyId.FullyQualifiedName()), + resource.TestCheckResourceAttr("snowflake_user_password_policy_attachment.ppa", "id", fmt.Sprintf("%s|%s", userId.FullyQualifiedName(), passwordPolicyId.FullyQualifiedName())), ), }, // IMPORT @@ -72,3 +105,23 @@ resource "snowflake_user_password_policy_attachment" "ppa" { } `, userName, databaseName, schemaName, passwordPolicyName) } + +func userPasswordPolicyAttachmentConfigV087(userName, databaseName, schemaName, passwordPolicyName string) string { + return fmt.Sprintf(` +resource "snowflake_user" "user" { + name = "%[1]s" +} + +resource "snowflake_password_policy" "pp" { + database = "%[2]s" + schema = "%[3]s" + name = "%[4]s" +} + +resource "snowflake_user_password_policy_attachment" "ppa" { + depends_on = [snowflake_password_policy.pp] + password_policy_name = "\"%[2]s\".\"%[3]s\".\"%[4]s\"" + user_name = snowflake_user.user.name +} +`, userName, databaseName, schemaName, passwordPolicyName) +}