@@ -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
1514func 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