Skip to content

Commit 241fcff

Browse files
authored
Consolidate helper functions to internal/testutil package (#2002)
## Changes This is one step (of many) toward moving the integration tests around. This change consolidates the following functions: * `ReadFile` / `WriteFile` * `GetEnvOrSkipTest` * `RandomName` ## Tests n/a
1 parent a7e91a5 commit 241fcff

36 files changed

+145
-158
lines changed

bundle/config/validate/files_to_sync_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package validate
22

33
import (
44
"context"
5+
"path/filepath"
56
"testing"
67

78
"github.com/databricks/cli/bundle"
@@ -81,7 +82,7 @@ func TestFilesToSync_EverythingIgnored(t *testing.T) {
8182
b := setupBundleForFilesToSyncTest(t)
8283

8384
// Ignore all files.
84-
testutil.WriteFile(t, "*\n.*\n", b.BundleRootPath, ".gitignore")
85+
testutil.WriteFile(t, filepath.Join(b.BundleRootPath, ".gitignore"), "*\n.*\n")
8586

8687
ctx := context.Background()
8788
rb := bundle.ReadOnly(b)

bundle/deploy/terraform/check_dashboards_modified_remotely_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func writeFakeDashboardState(t *testing.T, ctx context.Context, b *bundle.Bundle
139139
require.NoError(t, err)
140140

141141
// Write fake state file.
142-
testutil.WriteFile(t, `
142+
testutil.WriteFile(t, filepath.Join(tfDir, TerraformStateFileName), `
143143
{
144144
"version": 4,
145145
"terraform_version": "1.5.5",
@@ -187,5 +187,5 @@ func writeFakeDashboardState(t *testing.T, ctx context.Context, b *bundle.Bundle
187187
}
188188
]
189189
}
190-
`, filepath.Join(tfDir, TerraformStateFileName))
190+
`)
191191
}

internal/acc/workspace.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"os"
77
"testing"
88

9+
"github.com/databricks/cli/internal/testutil"
910
"github.com/databricks/databricks-sdk-go"
1011
"github.com/databricks/databricks-sdk-go/apierr"
1112
"github.com/databricks/databricks-sdk-go/service/compute"
@@ -26,7 +27,7 @@ type WorkspaceT struct {
2627
func WorkspaceTest(t *testing.T) (context.Context, *WorkspaceT) {
2728
loadDebugEnvIfRunFromIDE(t, "workspace")
2829

29-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
30+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
3031

3132
w, err := databricks.NewWorkspaceClient()
3233
require.NoError(t, err)
@@ -46,7 +47,7 @@ func WorkspaceTest(t *testing.T) (context.Context, *WorkspaceT) {
4647
func UcWorkspaceTest(t *testing.T) (context.Context, *WorkspaceT) {
4748
loadDebugEnvIfRunFromIDE(t, "workspace")
4849

49-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
50+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
5051

5152
if os.Getenv("TEST_METASTORE_ID") == "" {
5253
t.Skipf("Skipping on non-UC workspaces")
@@ -70,7 +71,7 @@ func UcWorkspaceTest(t *testing.T) (context.Context, *WorkspaceT) {
7071
}
7172

7273
func (t *WorkspaceT) TestClusterID() string {
73-
clusterID := GetEnvOrSkipTest(t.T, "TEST_BRICKS_CLUSTER_ID")
74+
clusterID := testutil.GetEnvOrSkipTest(t.T, "TEST_BRICKS_CLUSTER_ID")
7475
err := t.W.Clusters.EnsureClusterIsRunning(t.ctx, clusterID)
7576
require.NoError(t, err)
7677
return clusterID
@@ -103,7 +104,7 @@ func (t *WorkspaceT) TemporaryWorkspaceDir(name ...string) string {
103104
me, err := t.W.CurrentUser.Me(ctx)
104105
require.NoError(t, err)
105106

106-
basePath := fmt.Sprintf("/Users/%s/%s", me.UserName, RandomName(name...))
107+
basePath := fmt.Sprintf("/Users/%s/%s", me.UserName, testutil.RandomName(name...))
107108

108109
t.Logf("Creating %s", basePath)
109110
err = t.W.Workspace.MkdirsByPath(ctx, basePath)

internal/alerts_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package internal
33
import (
44
"testing"
55

6+
"github.com/databricks/cli/internal/testutil"
67
"github.com/stretchr/testify/assert"
78
)
89

910
func TestAccAlertsCreateErrWhenNoArguments(t *testing.T) {
10-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
11+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
1112

1213
_, _, err := RequireErrorRun(t, "alerts-legacy", "create")
1314
assert.Equal(t, "please provide command input in JSON format by specifying the --json flag", err.Error())

internal/api_test.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@ import (
44
"encoding/json"
55
"fmt"
66
"path"
7+
"path/filepath"
78
"testing"
89

910
"github.com/stretchr/testify/assert"
1011
"github.com/stretchr/testify/require"
1112

1213
_ "github.com/databricks/cli/cmd/api"
14+
"github.com/databricks/cli/internal/testutil"
1315
)
1416

1517
func TestAccApiGet(t *testing.T) {
16-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
18+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
1719

1820
stdout, _ := RequireSuccessfulRun(t, "api", "get", "/api/2.0/preview/scim/v2/Me")
1921

@@ -28,14 +30,15 @@ func TestAccApiGet(t *testing.T) {
2830
}
2931

3032
func TestAccApiPost(t *testing.T) {
31-
env := GetEnvOrSkipTest(t, "CLOUD_ENV")
33+
env := testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")
3234
t.Log(env)
3335
if env == "gcp" {
3436
t.Skip("DBFS REST API is disabled on gcp")
3537
}
3638

37-
dbfsPath := path.Join("/tmp/databricks/integration", RandomName("api-post"))
38-
requestPath := writeFile(t, "body.json", fmt.Sprintf(`{
39+
dbfsPath := path.Join("/tmp/databricks/integration", testutil.RandomName("api-post"))
40+
requestPath := filepath.Join(t.TempDir(), "body.json")
41+
testutil.WriteFile(t, requestPath, fmt.Sprintf(`{
3942
"path": "%s"
4043
}`, dbfsPath))
4144

internal/auth_describe_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import (
55
"fmt"
66
"testing"
77

8+
"github.com/databricks/cli/internal/testutil"
89
"github.com/databricks/databricks-sdk-go"
910
"github.com/stretchr/testify/require"
1011
)
1112

1213
func TestAuthDescribeSuccess(t *testing.T) {
13-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
14+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
1415

1516
stdout, _ := RequireSuccessfulRun(t, "auth", "describe")
1617
outStr := stdout.String()
@@ -31,7 +32,7 @@ func TestAuthDescribeSuccess(t *testing.T) {
3132
}
3233

3334
func TestAuthDescribeFailure(t *testing.T) {
34-
t.Log(GetEnvOrSkipTest(t, "CLOUD_ENV"))
35+
t.Log(testutil.GetEnvOrSkipTest(t, "CLOUD_ENV"))
3536

3637
stdout, _ := RequireSuccessfulRun(t, "auth", "describe", "--profile", "nonexistent")
3738
outStr := stdout.String()

internal/bundle/artifacts_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"github.com/databricks/cli/bundle/libraries"
1515
"github.com/databricks/cli/internal"
1616
"github.com/databricks/cli/internal/acc"
17+
"github.com/databricks/cli/internal/testutil"
1718
"github.com/databricks/databricks-sdk-go/service/catalog"
1819
"github.com/databricks/databricks-sdk-go/service/compute"
1920
"github.com/databricks/databricks-sdk-go/service/jobs"
@@ -234,7 +235,7 @@ func TestAccUploadArtifactFileToVolumeThatDoesNotExist(t *testing.T) {
234235
ctx, wt := acc.UcWorkspaceTest(t)
235236
w := wt.W
236237

237-
schemaName := internal.RandomName("schema-")
238+
schemaName := testutil.RandomName("schema-")
238239

239240
_, err := w.Schemas.Create(ctx, catalog.CreateSchema{
240241
CatalogName: "main",
@@ -271,7 +272,7 @@ func TestAccUploadArtifactToVolumeNotYetDeployed(t *testing.T) {
271272
ctx, wt := acc.UcWorkspaceTest(t)
272273
w := wt.W
273274

274-
schemaName := internal.RandomName("schema-")
275+
schemaName := testutil.RandomName("schema-")
275276

276277
_, err := w.Schemas.Create(ctx, catalog.CreateSchema{
277278
CatalogName: "main",

internal/bundle/bind_resource_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/databricks/cli/internal"
1010
"github.com/databricks/cli/internal/acc"
11+
"github.com/databricks/cli/internal/testutil"
1112
"github.com/databricks/databricks-sdk-go"
1213
"github.com/databricks/databricks-sdk-go/service/jobs"
1314
"github.com/google/uuid"
@@ -16,7 +17,7 @@ import (
1617
)
1718

1819
func TestAccBindJobToExistingJob(t *testing.T) {
19-
env := internal.GetEnvOrSkipTest(t, "CLOUD_ENV")
20+
env := testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")
2021
t.Log(env)
2122

2223
ctx, wt := acc.WorkspaceTest(t)
@@ -81,7 +82,7 @@ func TestAccBindJobToExistingJob(t *testing.T) {
8182
}
8283

8384
func TestAccAbortBind(t *testing.T) {
84-
env := internal.GetEnvOrSkipTest(t, "CLOUD_ENV")
85+
env := testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")
8586
t.Log(env)
8687

8788
ctx, wt := acc.WorkspaceTest(t)
@@ -130,7 +131,7 @@ func TestAccAbortBind(t *testing.T) {
130131
}
131132

132133
func TestAccGenerateAndBind(t *testing.T) {
133-
env := internal.GetEnvOrSkipTest(t, "CLOUD_ENV")
134+
env := testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")
134135
t.Log(env)
135136

136137
ctx, wt := acc.WorkspaceTest(t)

internal/bundle/dashboards_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"testing"
66

77
"github.com/databricks/cli/internal/acc"
8+
"github.com/databricks/cli/internal/testutil"
89
"github.com/databricks/databricks-sdk-go/service/dashboards"
910
"github.com/databricks/databricks-sdk-go/service/workspace"
1011
"github.com/google/uuid"
@@ -15,7 +16,7 @@ import (
1516
func TestAccDashboards(t *testing.T) {
1617
ctx, wt := acc.WorkspaceTest(t)
1718

18-
warehouseID := acc.GetEnvOrSkipTest(t, "TEST_DEFAULT_WAREHOUSE_ID")
19+
warehouseID := testutil.GetEnvOrSkipTest(t, "TEST_DEFAULT_WAREHOUSE_ID")
1920
uniqueID := uuid.New().String()
2021
root, err := initTestTemplate(t, ctx, "dashboards", map[string]any{
2122
"unique_id": uniqueID,

internal/bundle/deployment_state_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ import (
99
"github.com/databricks/cli/bundle/deploy"
1010
"github.com/databricks/cli/internal"
1111
"github.com/databricks/cli/internal/acc"
12+
"github.com/databricks/cli/internal/testutil"
1213
"github.com/google/uuid"
1314
"github.com/stretchr/testify/require"
1415
)
1516

1617
func TestAccFilesAreSyncedCorrectlyWhenNoSnapshot(t *testing.T) {
17-
env := internal.GetEnvOrSkipTest(t, "CLOUD_ENV")
18+
env := testutil.GetEnvOrSkipTest(t, "CLOUD_ENV")
1819
t.Log(env)
1920

2021
ctx, wt := acc.WorkspaceTest(t)

0 commit comments

Comments
 (0)