Skip to content

Commit

Permalink
Merge branch 'terraform-plugin-framework' of github.com:databricks/te…
Browse files Browse the repository at this point in the history
…rraform-provider-databricks into add-unit-tests
  • Loading branch information
tanmay-db committed Aug 9, 2024
2 parents 086a64f + 79121d6 commit 90d5b65
Show file tree
Hide file tree
Showing 60 changed files with 273 additions and 188 deletions.
2 changes: 1 addition & 1 deletion aws/resource_instance_profile.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (

"github.com/hashicorp/go-cty/cty"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

// InstanceProfileInfo contains the ARN for aws instance profiles
Expand Down
2 changes: 1 addition & 1 deletion clusters/clusters_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import (
"github.com/databricks/databricks-sdk-go/service/compute"

"github.com/databricks/terraform-provider-databricks/common"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

// AutoScale is a struct the describes auto scaling for clusters
Expand Down
2 changes: 1 addition & 1 deletion commands/commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
"github.com/databricks/terraform-provider-databricks/clusters"
"github.com/databricks/terraform-provider-databricks/common"

"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
)

// Command is the struct that contains what the 1.2 api returns for the commands api
Expand Down
74 changes: 0 additions & 74 deletions common/customizable_schema_plugin_framework.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,80 +37,6 @@ func attributeToMap(attr *schema.Attribute) map[string]schema.Attribute {
return m
}

func (s *CustomizableSchemaPluginFramework) AddNewField(key string, newField schema.Attribute, path ...string) *CustomizableSchemaPluginFramework {
cb := func(a schema.Attribute) schema.Attribute {
switch attr := a.(type) {
case schema.SingleNestedAttribute:
_, exists := attr.Attributes[key]
if exists {
panic("Cannot add new field, " + key + " already exists in the schema")
}
attr.Attributes[key] = newField
return attr
case schema.ListNestedAttribute:
_, exists := attr.NestedObject.Attributes[key]
if exists {
panic("Cannot add new field, " + key + " already exists in the schema")
}
attr.NestedObject.Attributes[key] = newField
return attr
case schema.MapNestedAttribute:
_, exists := attr.NestedObject.Attributes[key]
if exists {
panic("Cannot add new field, " + key + " already exists in the schema")
}
attr.NestedObject.Attributes[key] = newField
return attr
default:
panic("attribute is not nested, cannot add field")
}
}

if len(path) == 0 {
s.attr = cb(s.attr)
} else {
navigateSchemaWithCallback(&s.attr, cb, path...)
}
return s
}

func (s *CustomizableSchemaPluginFramework) RemoveField(key string, path ...string) *CustomizableSchemaPluginFramework {
cb := func(a schema.Attribute) schema.Attribute {
switch attr := a.(type) {
case schema.SingleNestedAttribute:
_, exists := attr.Attributes[key]
if !exists {
panic("Cannot remove field, " + key + " does not exist in the schema")
}
delete(attr.Attributes, key)
return attr
case schema.ListNestedAttribute:
_, exists := attr.NestedObject.Attributes[key]
if !exists {
panic("Cannot remove field, " + key + " does not exist in the schema")
}
delete(attr.NestedObject.Attributes, key)
return attr
case schema.MapNestedAttribute:
_, exists := attr.NestedObject.Attributes[key]
if !exists {
panic("Cannot remove field, " + key + " does not exist in the schema")
}
delete(attr.NestedObject.Attributes, key)
return attr
default:
panic("attribute is not nested, cannot add field")
}
}

if len(path) == 0 {
s.attr = cb(s.attr)
} else {
navigateSchemaWithCallback(&s.attr, cb, path...)
}
return s
}

func (s *CustomizableSchemaPluginFramework) AddValidator(v any, path ...string) *CustomizableSchemaPluginFramework {
cb := func(attr schema.Attribute) schema.Attribute {
val := reflect.ValueOf(attr)
Expand Down
9 changes: 0 additions & 9 deletions common/customizable_schema_plugin_framework_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,6 @@ func (v stringLengthBetweenValidator) ValidateString(ctx context.Context, req va

func TestCustomizeSchema(t *testing.T) {
scm := PluginFrameworkResourceStructToSchema(DummyTfSdk{}, func(c CustomizableSchemaPluginFramework) CustomizableSchemaPluginFramework {
c.AddNewField("new_field", schema.StringAttribute{Required: true})
c.AddNewField("new_field", schema.StringAttribute{Required: true}, "nested")
c.AddNewField("to_be_removed", schema.StringAttribute{Required: true}, "nested")
c.RemoveField("to_be_removed", "nested")
c.SetRequired("nested", "enabled")
c.SetOptional("description")
c.SetSensitive("nested", "name")
Expand All @@ -59,17 +55,12 @@ func TestCustomizeSchema(t *testing.T) {
c.AddValidator(stringLengthBetweenValidator{}, "description")
return c
})
assert.True(t, scm.Attributes["new_field"].IsRequired())
assert.True(t, MustSchemaAttributePath(scm.Attributes, "nested", "new_field").IsRequired())
assert.True(t, MustSchemaAttributePath(scm.Attributes, "nested", "enabled").IsRequired())
assert.True(t, MustSchemaAttributePath(scm.Attributes, "nested", "name").IsSensitive())
assert.True(t, MustSchemaAttributePath(scm.Attributes, "map").GetDeprecationMessage() == "deprecated")
assert.True(t, scm.Attributes["description"].IsOptional())
assert.True(t, !scm.Attributes["map"].IsOptional())
assert.True(t, !scm.Attributes["map"].IsRequired())
assert.True(t, scm.Attributes["map"].IsComputed())
attr := MustSchemaAttributePath(scm.Attributes, "nested").(schema.SingleNestedAttribute).Attributes
_, ok := attr["to_be_removed"]
assert.True(t, len(MustSchemaAttributePath(scm.Attributes, "description").(schema.StringAttribute).Validators) == 1)
assert.True(t, !ok)
}
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ require (
github.com/hashicorp/logutils v1.0.0 // indirect
github.com/hashicorp/terraform-exec v0.21.0 // indirect
github.com/hashicorp/terraform-json v0.22.1 // indirect
github.com/hashicorp/terraform-plugin-testing v1.9.0 // indirect
github.com/hashicorp/terraform-registry-address v0.2.3 // indirect
github.com/hashicorp/terraform-svchost v0.1.1 // indirect
github.com/hashicorp/yamux v0.1.1 // indirect
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/account_rule_set_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import (
"testing"

"github.com/databricks/databricks-sdk-go/service/iam"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"

"github.com/databricks/terraform-provider-databricks/common"
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/dashboard_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"github.com/databricks/databricks-sdk-go/service/dashboards"
"github.com/databricks/terraform-provider-databricks/common"
"github.com/databricks/terraform-provider-databricks/qa"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_aws_crossaccount_policy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestMwsAccDataSourceAwsCrossaccountPolicy(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_catalog_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/require"
)

Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_current_config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_current_metastore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestUcAccDataSourceCurrentMetastore(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_external_locations_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestUcAccDataSourceExternalLocations(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_group_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_metastore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestUcAccDataSourceMetastore(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_metastores_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestUcAccDataSourceMetastores(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_mlflow_experiment_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestAccDataSourceMlflowExperiment(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_mlflow_model_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestAccDataMlflowModel(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_mws_credentials_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestAccDataSourceMwsCredentials(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_mws_workspaces_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"fmt"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"

"testing"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_pipelines_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"fmt"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"

"testing"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_schema_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/require"
)

Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_schemas_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_shares_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"strconv"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_storage_credential_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/require"
)

Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_storage_credentials_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
)

func TestUcAccDataSourceStorageCredentials(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_table_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/require"
)

Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_tables_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"strconv"
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
Expand Down
2 changes: 1 addition & 1 deletion internal/acceptance/data_volume_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package acceptance
import (
"testing"

"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-plugin-testing/terraform"
"github.com/stretchr/testify/require"
)

Expand Down
Loading

0 comments on commit 90d5b65

Please sign in to comment.