Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5074902
resources part 5 starts here
sfc-gh-asawicki Apr 1, 2025
e98ff2e
Verify all resource acceptance test setups
sfc-gh-asawicki Apr 1, 2025
d1cc085
Verify sequence acceptance test setups
sfc-gh-asawicki Apr 1, 2025
5407841
Verify service user resource acceptance test setups
sfc-gh-asawicki Apr 1, 2025
5ba0dd7
Verify share resource acceptance test setups
sfc-gh-asawicki Apr 1, 2025
ca7d1ab
Add shared database config model builder
sfc-gh-asawicki Apr 1, 2025
207292f
Fix shared database resource acceptance test setup
sfc-gh-asawicki Apr 1, 2025
0874b67
Fix stage resource acceptance test setup
sfc-gh-asawicki Apr 1, 2025
11756b1
Verify storage integration resource acceptance test setup
sfc-gh-asawicki Apr 1, 2025
2f9ec6e
Fix stream on directory table resource acceptance test setup
sfc-gh-asawicki Apr 1, 2025
8571756
Fix stream on external table resource acceptance test setup
sfc-gh-asawicki Apr 2, 2025
d8c32e7
Fix stream on table resource acceptance test setup
sfc-gh-asawicki Apr 2, 2025
e9fc655
Fix nit from the previous review
sfc-gh-asawicki Apr 2, 2025
1d413cc
Fix stream on view resource acceptance test setup
sfc-gh-asawicki Apr 2, 2025
da06d1e
Fix streamlit resource acceptance test setup
sfc-gh-asawicki Apr 2, 2025
45e72d4
Fix table resource acceptance test setup
sfc-gh-asawicki Apr 3, 2025
ce3e550
Fix table column masking policy application resource acceptance test …
sfc-gh-asawicki Apr 4, 2025
cd91968
Fix table constraint resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
c92616c
Fix tag resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
60e3f13
Fix tag association resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
05dbd4c
Verify task association resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
f5bfe7d
Verify user resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
db07656
Verify user authentication policy attachment resource acceptance test…
sfc-gh-asawicki Apr 4, 2025
e3bdd3a
Verify user password policy attachment resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
7a4e36d
Create users using helper instead of through tf
sfc-gh-asawicki Apr 4, 2025
fc73cb6
Fix user public keys resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
6e2414b
Fix view resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
a33f8a4
Fix warehouse resource acceptance test setup (WIP)
sfc-gh-asawicki Apr 4, 2025
7c145ce
Fix warehouse resource acceptance test setup
sfc-gh-asawicki Apr 4, 2025
68b8aa9
Run pre-push
sfc-gh-asawicki Apr 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -213,4 +213,8 @@ var allResourceSchemaDefs = []ResourceSchemaDef{
name: "SecondaryDatabase",
schema: resources.SecondaryDatabase().Schema,
},
{
name: "SharedDatabase",
schema: resources.SharedDatabase().Schema,
},
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package model

import (
"github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk"
)

func StreamOnViewBase(resourceName string, id sdk.SchemaObjectIdentifier, viewId sdk.SchemaObjectIdentifier) *StreamOnViewModel {
return StreamOnView(resourceName, id.DatabaseName(), id.Name(), id.SchemaName(), viewId.FullyQualifiedName())
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,33 @@
package model

import (
r "github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/resources"

"github.com/Snowflake-Labs/terraform-provider-snowflake/pkg/sdk"
)

func BasicWarehouseModel(
name string,
id sdk.AccountObjectIdentifier,
comment string,
) *WarehouseModel {
return WarehouseWithDefaultMeta(id.Name()).WithComment(comment)
}

func WarehouseSnowflakeDefaultWithoutParameters(
id sdk.AccountObjectIdentifier,
comment string,
) *WarehouseModel {
return WarehouseWithDefaultMeta(name).WithComment(comment)
return BasicWarehouseModel(id, comment).
WithWarehouseTypeEnum(sdk.WarehouseTypeStandard).
WithWarehouseSizeEnum(sdk.WarehouseSizeXSmall).
WithMinClusterCount(1).
WithMaxClusterCount(1).
WithScalingPolicyEnum(sdk.ScalingPolicyStandard).
WithAutoSuspend(600).
WithAutoResume(r.BooleanTrue).
WithInitiallySuspended(false).
WithEnableQueryAcceleration(r.BooleanFalse).
WithQueryAccelerationMaxScaleFactor(8)
}

// TODO [SNOW-1501905]: currently config builder are generated from the resource schema, so there is no direct connection to the source enum (like sdk.WarehouseSize)
Expand All @@ -17,3 +36,11 @@ func BasicWarehouseModel(
func (w *WarehouseModel) WithWarehouseSizeEnum(warehouseSize sdk.WarehouseSize) *WarehouseModel {
return w.WithWarehouseSize(string(warehouseSize))
}

func (w *WarehouseModel) WithWarehouseTypeEnum(warehouseType sdk.WarehouseType) *WarehouseModel {
return w.WithWarehouseType(string(warehouseType))
}

func (w *WarehouseModel) WithScalingPolicyEnum(scalingPolicy sdk.ScalingPolicy) *WarehouseModel {
return w.WithScalingPolicy(string(scalingPolicy))
}
17 changes: 2 additions & 15 deletions pkg/acceptance/helpers/database_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -181,25 +181,12 @@ func (c *DatabaseClient) Describe(t *testing.T, id sdk.AccountObjectIdentifier)
func (c *DatabaseClient) CreateDatabaseFromShareTemporarily(t *testing.T, externalShareId sdk.ExternalObjectIdentifier) {
t.Helper()

databaseId := c.ids.RandomAccountObjectIdentifier()
err := c.client().CreateShared(context.Background(), databaseId, externalShareId, new(sdk.CreateSharedDatabaseOptions))
require.NoError(t, err)

require.Eventually(t, func() bool {
database, err := c.Show(t, databaseId)
if err != nil {
return false
}
// Origin is returned as "<revoked>" in those cases, because it's not valid sdk.ExternalObjectIdentifier parser sets it as nil.
// Once it turns into valid sdk.ExternalObjectIdentifier, we're ready to proceed with the actual test.
return database.Origin != nil
}, time.Minute, time.Second*6)
db, _ := c.CreateDatabaseFromShare(t, externalShareId)

err = c.DropDatabase(t, databaseId)
err := c.DropDatabase(t, db.ID())
require.NoError(t, err)
}

// CreateDatabaseFromShare logic is duplicated from CreateDatabaseFromShareTemporarily.
func (c *DatabaseClient) CreateDatabaseFromShare(t *testing.T, externalShareId sdk.ExternalObjectIdentifier) (*sdk.Database, func()) {
t.Helper()

Expand Down
10 changes: 10 additions & 0 deletions pkg/acceptance/helpers/schema_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,16 @@ func (c *SchemaClient) UpdateDataRetentionTime(t *testing.T, id sdk.DatabaseObje
})
}

func (c *SchemaClient) UnsetDataRetentionTime(t *testing.T, id sdk.DatabaseObjectIdentifier) {
t.Helper()

c.Alter(t, id, &sdk.AlterSchemaOptions{
Unset: &sdk.SchemaUnset{
DataRetentionTimeInDays: sdk.Bool(true),
},
})
}

func (c *SchemaClient) Show(t *testing.T, id sdk.DatabaseObjectIdentifier) (*sdk.Schema, error) {
t.Helper()
ctx := context.Background()
Expand Down
7 changes: 6 additions & 1 deletion pkg/acceptance/helpers/security_integration_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,16 @@ func (c *SecurityIntegrationClient) client() sdk.SecurityIntegrations {
}

func (c *SecurityIntegrationClient) CreateApiAuthenticationWithClientCredentialsFlow(t *testing.T) (*sdk.SecurityIntegration, func()) {
t.Helper()
return c.CreateApiAuthenticationWithClientCredentialsFlowWithEnabled(t, false)
}

func (c *SecurityIntegrationClient) CreateApiAuthenticationWithClientCredentialsFlowWithEnabled(t *testing.T, enabled bool) (*sdk.SecurityIntegration, func()) {
t.Helper()
ctx := context.Background()

id := c.ids.RandomAccountObjectIdentifier()
request := sdk.NewCreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest(id, false, "foo", "foo")
request := sdk.NewCreateApiAuthenticationWithClientCredentialsFlowSecurityIntegrationRequest(id, enabled, "foo", "foo")
err := c.client().CreateApiAuthenticationWithClientCredentialsFlow(ctx, request)
require.NoError(t, err)

Expand Down
Loading