Skip to content

Commit

Permalink
Prepare session policy helper methods
Browse files Browse the repository at this point in the history
  • Loading branch information
sfc-gh-asawicki committed Apr 23, 2024
1 parent 3c4fdb5 commit c7cdade
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions pkg/acceptance/helpers/session_policy_client.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
package helpers

import (
"context"
"testing"

"github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/acceptance/helpers/random"
"github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk"
"github.com/stretchr/testify/require"
)

type SessionPolicyClient struct {
Expand All @@ -17,3 +22,32 @@ func NewSessionPolicyClient(context *TestClientContext) *SessionPolicyClient {
func (c *SessionPolicyClient) client() sdk.SessionPolicies {
return c.context.client.SessionPolicies
}

func (c *SessionPolicyClient) CreateSessionPolicy(t *testing.T, database *sdk.Database, schema *sdk.Schema) (*sdk.SessionPolicy, func()) {
t.Helper()
id := sdk.NewSchemaObjectIdentifier(database.Name, schema.Name, random.StringN(12))
return c.CreateSessionPolicyWithOptions(t, id, sdk.NewCreateSessionPolicyRequest(id))
}

func (c *SessionPolicyClient) CreateSessionPolicyWithOptions(t *testing.T, id sdk.SchemaObjectIdentifier, request *sdk.CreateSessionPolicyRequest) (*sdk.SessionPolicy, func()) {
t.Helper()
ctx := context.Background()

err := c.client().Create(ctx, request)
require.NoError(t, err)

sessionPolicy, err := c.client().ShowByID(ctx, id)
require.NoError(t, err)

return sessionPolicy, c.DropSessionPolicyFunc(t, id)
}

func (c *SessionPolicyClient) DropSessionPolicyFunc(t *testing.T, id sdk.SchemaObjectIdentifier) func() {
t.Helper()
ctx := context.Background()

return func() {
err := c.client().Drop(ctx, sdk.NewDropSessionPolicyRequest(id).WithIfExists(sdk.Bool(true)))
require.NoError(t, err)
}
}

0 comments on commit c7cdade

Please sign in to comment.