Skip to content

Commit a5c69cf

Browse files
authored
Use fixture cluster for table acls (#3483)
1 parent 088c6b4 commit a5c69cf

File tree

1 file changed

+24
-30
lines changed

1 file changed

+24
-30
lines changed

internal/acceptance/sql_permissions_test.go

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,50 +8,44 @@ import (
88
"github.com/databricks/databricks-sdk-go"
99
"github.com/databricks/databricks-sdk-go/service/compute"
1010
"github.com/databricks/terraform-provider-databricks/qa"
11-
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
1211
"github.com/stretchr/testify/require"
1312
)
1413

1514
func TestAccTableACL(t *testing.T) {
16-
talbeName := qa.RandomName("table_acl_")
17-
workspaceLevel(t, step{
18-
Template: `data "databricks_current_user" "me" {}`,
19-
Check: func(s *terraform.State) error {
20-
// we need to run table creation within check code of previous step,
21-
// so that we know that environment variables are loaded by WorkspaceLevel
22-
// in the necessary way.
23-
ctx := context.Background()
24-
w := databricks.Must(databricks.NewWorkspaceClient())
25-
info, err := w.Clusters.GetOrCreateRunningCluster(ctx, "tf-dummy")
26-
require.NoError(t, err)
15+
loadWorkspaceEnv(t)
16+
tableName := qa.RandomName("table_acl_")
17+
clusterId := GetEnvOrSkipTest(t, "TEST_TABLE_ACL_CLUSTER_ID")
18+
ctx := context.Background()
19+
w := databricks.Must(databricks.NewWorkspaceClient())
20+
err := w.Clusters.EnsureClusterIsRunning(ctx, clusterId)
21+
require.NoError(t, err)
2722

28-
executor, err := w.CommandExecution.Start(ctx, info.ClusterId, compute.LanguagePython)
29-
require.NoError(t, err)
30-
t.Cleanup(func() {
31-
err = executor.Destroy(ctx)
32-
require.NoError(t, err)
33-
})
23+
executor, err := w.CommandExecution.Start(ctx, clusterId, compute.LanguagePython)
24+
require.NoError(t, err)
25+
t.Cleanup(func() {
26+
err = executor.Destroy(ctx)
27+
require.NoError(t, err)
28+
})
3429

35-
cr, err := executor.Execute(ctx, fmt.Sprintf("spark.range(10).write.saveAsTable('%s')", talbeName))
36-
require.NoError(t, err)
37-
require.False(t, cr.Failed(), cr.Error())
30+
cr, err := executor.Execute(ctx, fmt.Sprintf("spark.range(10).write.saveAsTable('%s')", tableName))
31+
require.NoError(t, err)
32+
require.False(t, cr.Failed(), cr.Error())
3833

39-
t.Cleanup(func() {
40-
cr, err = executor.Execute(ctx, fmt.Sprintf(`spark.sql("DROP TABLE %s")`, talbeName))
41-
require.NoError(t, err)
42-
require.False(t, cr.Failed(), cr.Error())
43-
})
44-
return nil
45-
},
46-
}, step{
34+
t.Cleanup(func() {
35+
cr, err = executor.Execute(ctx, fmt.Sprintf(`spark.sql("DROP TABLE %s")`, tableName))
36+
require.NoError(t, err)
37+
require.False(t, cr.Failed(), cr.Error())
38+
})
39+
workspaceLevel(t, step{
4740
Template: `
4841
resource "databricks_sql_permissions" "this" {
49-
table = "` + talbeName + `"
42+
table = "` + tableName + `"
5043
5144
privilege_assignments {
5245
principal = "users"
5346
privileges = ["SELECT"]
5447
}
48+
cluster_id = "` + clusterId + `"
5549
}`,
5650
})
5751
}

0 commit comments

Comments
 (0)