Skip to content

Commit ec962ec

Browse files
[Internal] Remove unnecessary test (#1071)
## Changes Remove unnecessary tests. The tests are integration tests for the API/service, not the SDK itself. The removed tests take >20 minutes each and they are flaky. ## Tests <!-- How is this tested? Please see the checklist below and also describe any other relevant tests --> - [X] `make test` passing - [X] `make fmt` applied - [X] relevant integration tests applied
1 parent fdd6b16 commit ec962ec

File tree

2 files changed

+0
-285
lines changed

2 files changed

+0
-285
lines changed

internal/clusters_test.go

Lines changed: 0 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"github.com/databricks/databricks-sdk-go"
1010
"github.com/databricks/databricks-sdk-go/retries"
1111
"github.com/databricks/databricks-sdk-go/service/compute"
12-
"github.com/databricks/databricks-sdk-go/service/iam"
1312
"github.com/stretchr/testify/assert"
1413
"github.com/stretchr/testify/require"
1514
)
@@ -89,146 +88,3 @@ func TestAccAwsInstanceProfiles(t *testing.T) {
8988
require.NoError(t, err)
9089
assert.True(t, len(all) >= 1)
9190
}
92-
93-
func TestAccClustersApiIntegration(t *testing.T) {
94-
ctx, w := workspaceTest(t)
95-
96-
clusterName := RandomName("sdk-go-cluster-")
97-
98-
// Select the latest LTS version without Photon
99-
latest, err := w.Clusters.SelectSparkVersion(ctx, compute.SparkVersionRequest{
100-
Latest: true,
101-
LongTermSupport: true,
102-
})
103-
require.NoError(t, err)
104-
105-
// Create cluster and wait for it to start properly
106-
clstr, err := w.Clusters.CreateAndWait(ctx, compute.CreateCluster{
107-
ClusterName: clusterName,
108-
SparkVersion: latest,
109-
InstancePoolId: GetEnvOrSkipTest(t, "TEST_INSTANCE_POOL_ID"),
110-
AutoterminationMinutes: 15,
111-
NumWorkers: 1,
112-
})
113-
require.NoError(t, err)
114-
115-
t.Cleanup(func() {
116-
// Permanently delete the cluster
117-
err := w.Clusters.PermanentDeleteByClusterId(ctx, clstr.ClusterId)
118-
require.NoError(t, err)
119-
})
120-
121-
byId, err := w.Clusters.GetByClusterId(ctx, clstr.ClusterId)
122-
require.NoError(t, err)
123-
assert.Equal(t, clusterName, byId.ClusterName)
124-
assert.Equal(t, compute.StateRunning, byId.State)
125-
126-
// Pin the cluster in the list
127-
err = w.Clusters.PinByClusterId(ctx, clstr.ClusterId)
128-
require.NoError(t, err)
129-
130-
// Unpin the cluster
131-
err = w.Clusters.UnpinByClusterId(ctx, clstr.ClusterId)
132-
require.NoError(t, err)
133-
134-
// Edit the cluster: change auto-termination and number of workers
135-
_, err = w.Clusters.EditAndWait(ctx, compute.EditCluster{
136-
ClusterId: clstr.ClusterId,
137-
SparkVersion: latest,
138-
ClusterName: clusterName,
139-
InstancePoolId: GetEnvOrSkipTest(t, "TEST_INSTANCE_POOL_ID"),
140-
141-
// change auto-termination and number of workers
142-
AutoterminationMinutes: 10,
143-
NumWorkers: 2,
144-
})
145-
require.NoError(t, err)
146-
147-
// Assert edit changes are reflected in the cluster
148-
byId, err = w.Clusters.GetByClusterId(ctx, clstr.ClusterId)
149-
require.NoError(t, err)
150-
assert.Equal(t, 10, byId.AutoterminationMinutes)
151-
assert.Equal(t, 2, byId.NumWorkers)
152-
153-
// Test getting the cluster by name
154-
byName, err := w.Clusters.GetByClusterName(ctx, byId.ClusterName)
155-
require.NoError(t, err)
156-
assert.Equal(t, byId.ClusterId, byName.ClusterId)
157-
158-
// Terminate the cluster
159-
_, err = w.Clusters.DeleteByClusterIdAndWait(ctx, clstr.ClusterId)
160-
require.NoError(t, err)
161-
162-
// Assert that the cluster we've just deleted has Terminated state
163-
byId, err = w.Clusters.GetByClusterId(ctx, clstr.ClusterId)
164-
require.NoError(t, err)
165-
assert.Equal(t, byId.State, compute.StateTerminated)
166-
167-
// Start cluster and wait until it's running again
168-
_, err = w.Clusters.StartByClusterIdAndWait(ctx, clstr.ClusterId)
169-
require.NoError(t, err)
170-
171-
// Resize the cluster back to 1 worker and wait till completion
172-
byId, err = w.Clusters.ResizeAndWait(ctx, compute.ResizeCluster{
173-
ClusterId: clstr.ClusterId,
174-
NumWorkers: 1,
175-
})
176-
require.NoError(t, err)
177-
assert.Equal(t, 1, byId.NumWorkers)
178-
179-
// Restart the cluster and wait for it to run again
180-
_, err = w.Clusters.RestartAndWait(ctx, compute.RestartCluster{
181-
ClusterId: clstr.ClusterId,
182-
})
183-
require.NoError(t, err)
184-
185-
// Get events for the cluster and assert its non empty
186-
events, err := w.Clusters.EventsAll(ctx, compute.GetEvents{
187-
ClusterId: clstr.ClusterId,
188-
})
189-
require.NoError(t, err)
190-
assert.True(t, len(events) > 0)
191-
192-
// List clusters in workspace
193-
all, err := w.Clusters.ListAll(ctx, compute.ListClustersRequest{})
194-
require.NoError(t, err)
195-
foundCluster := false
196-
for _, info := range all {
197-
if info.ClusterName == clusterName {
198-
foundCluster = true
199-
}
200-
}
201-
assert.True(t, foundCluster)
202-
203-
// Get cluster by name and assert it still exists
204-
ClusterDetails, err := w.Clusters.GetByClusterName(ctx, clusterName)
205-
require.NoError(t, err)
206-
assert.Equal(t, ClusterDetails.ClusterName, clusterName)
207-
208-
otherOwner, err := w.Users.Create(ctx, iam.User{
209-
UserName: RandomEmail(),
210-
})
211-
require.NoError(t, err)
212-
defer w.Users.DeleteById(ctx, otherOwner.Id)
213-
214-
// terminate the cluster
215-
_, err = w.Clusters.DeleteByClusterIdAndWait(ctx, clstr.ClusterId)
216-
require.NoError(t, err)
217-
218-
// cluster must be terminated to change the owner
219-
err = w.Clusters.ChangeOwner(ctx, compute.ChangeClusterOwner{
220-
ClusterId: clstr.ClusterId,
221-
OwnerUsername: otherOwner.UserName,
222-
})
223-
require.NoError(t, err)
224-
225-
nodes, err := w.Clusters.ListNodeTypes(ctx)
226-
require.NoError(t, err)
227-
assert.True(t, len(nodes.NodeTypes) > 1)
228-
229-
if w.Config.IsAws() {
230-
zones, err := w.Clusters.ListZones(ctx)
231-
require.NoError(t, err)
232-
assert.True(t, len(zones.Zones) > 1)
233-
}
234-
}

internal/jobs_test.go

Lines changed: 0 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -1,156 +1,15 @@
11
package internal
22

33
import (
4-
"encoding/base64"
54
"testing"
65

76
"github.com/databricks/databricks-sdk-go/apierr"
87
"github.com/databricks/databricks-sdk-go/service/compute"
98
"github.com/databricks/databricks-sdk-go/service/jobs"
10-
"github.com/databricks/databricks-sdk-go/service/workspace"
119
"github.com/stretchr/testify/assert"
1210
"github.com/stretchr/testify/require"
1311
)
1412

15-
func TestAccJobsApiFullIntegration(t *testing.T) {
16-
ctx, w := workspaceTest(t)
17-
clusterId := sharedRunningCluster(t, ctx, w)
18-
notebookPath := myNotebookPath(t, w)
19-
20-
err := w.Workspace.Import(ctx, workspace.Import{
21-
Path: notebookPath,
22-
Overwrite: true,
23-
Format: workspace.ImportFormatSource,
24-
Language: workspace.LanguagePython,
25-
Content: base64.StdEncoding.EncodeToString([]byte(`
26-
import time
27-
time.sleep(10)
28-
dbutils.notebook.exit('hello')`)),
29-
})
30-
require.NoError(t, err)
31-
32-
run, err := w.Jobs.SubmitAndWait(ctx, jobs.SubmitRun{
33-
RunName: RandomName("go-sdk-SubmitAndWait-"),
34-
Tasks: []jobs.SubmitTask{{
35-
ExistingClusterId: clusterId,
36-
NotebookTask: &jobs.NotebookTask{
37-
NotebookPath: notebookPath,
38-
},
39-
TaskKey: RandomName(),
40-
}},
41-
})
42-
require.NoError(t, err)
43-
defer w.Jobs.DeleteRunByRunId(ctx, run.RunId)
44-
45-
output, err := w.Jobs.GetRunOutputByRunId(ctx, run.Tasks[0].RunId)
46-
require.NoError(t, err)
47-
assert.Equal(t, output.NotebookOutput.Result, "hello")
48-
49-
createdJob, err := w.Jobs.Create(ctx, jobs.CreateJob{
50-
Name: RandomName("go-sdk-Create-"),
51-
Tasks: []jobs.Task{{
52-
Description: "test",
53-
ExistingClusterId: clusterId,
54-
NotebookTask: &jobs.NotebookTask{
55-
NotebookPath: notebookPath,
56-
},
57-
TaskKey: "test",
58-
TimeoutSeconds: 0,
59-
}},
60-
})
61-
require.NoError(t, err)
62-
defer w.Jobs.DeleteByJobId(ctx, createdJob.JobId)
63-
64-
runById, err := w.Jobs.RunNowAndWait(ctx, jobs.RunNow{
65-
JobId: createdJob.JobId,
66-
})
67-
require.NoError(t, err)
68-
assert.NotEmpty(t, runById.Tasks)
69-
70-
exportedView, err := w.Jobs.ExportRun(ctx, jobs.ExportRunRequest{
71-
RunId: runById.Tasks[0].RunId,
72-
ViewsToExport: "CODE",
73-
})
74-
require.NoError(t, err)
75-
assert.NotEmpty(t, exportedView.Views)
76-
assert.Equal(t, exportedView.Views[0].Type, jobs.ViewTypeNotebook)
77-
assert.NotEmpty(t, exportedView.Views[0].Content)
78-
79-
_, err = w.Jobs.RunNow(ctx, jobs.RunNow{
80-
JobId: createdJob.JobId,
81-
})
82-
require.NoError(t, err)
83-
84-
runList, err := w.Jobs.ListRunsAll(ctx, jobs.ListRunsRequest{
85-
JobId: createdJob.JobId,
86-
})
87-
require.NoError(t, err)
88-
assert.Equal(t, createdJob.JobId, runList[0].JobId)
89-
90-
err = w.Jobs.CancelAllRuns(ctx, jobs.CancelAllRuns{
91-
JobId: createdJob.JobId,
92-
})
93-
94-
require.NoError(t, err)
95-
96-
runNowResponse, err := w.Jobs.RunNow(ctx, jobs.RunNow{
97-
JobId: createdJob.JobId,
98-
})
99-
require.NoError(t, err)
100-
101-
cancelledRun, err := w.Jobs.CancelRunAndWait(ctx, jobs.CancelRun{
102-
RunId: runNowResponse.Response.RunId,
103-
})
104-
require.NoError(t, err)
105-
106-
repairedRun, err := w.Jobs.RepairRunAndWait(ctx, jobs.RepairRun{
107-
RerunTasks: []string{cancelledRun.Tasks[0].TaskKey},
108-
RunId: runNowResponse.Response.RunId,
109-
})
110-
require.NoError(t, err)
111-
assert.GreaterOrEqual(t, len(repairedRun.Tasks), 1)
112-
113-
newName := RandomName("updated")
114-
err = w.Jobs.Update(ctx, jobs.UpdateJob{
115-
JobId: createdJob.JobId,
116-
NewSettings: &jobs.JobSettings{
117-
Name: newName,
118-
MaxConcurrentRuns: 5,
119-
},
120-
})
121-
require.NoError(t, err)
122-
123-
byId, err := w.Jobs.GetByJobId(ctx, createdJob.JobId)
124-
require.NoError(t, err)
125-
126-
assert.Equal(t, byId.Settings.Name, newName)
127-
assert.Equal(t, byId.Settings.MaxConcurrentRuns, 5)
128-
129-
newName = RandomName("updated-for-reset")
130-
err = w.Jobs.Reset(ctx, jobs.ResetJob{
131-
JobId: byId.JobId,
132-
NewSettings: jobs.JobSettings{
133-
Name: newName,
134-
Tasks: byId.Settings.Tasks,
135-
},
136-
})
137-
require.NoError(t, err)
138-
139-
byId, err = w.Jobs.GetByJobId(ctx, createdJob.JobId)
140-
require.NoError(t, err)
141-
assert.Equal(t, byId.Settings.Name, newName)
142-
143-
byName, err := w.Jobs.GetBySettingsName(ctx, newName)
144-
require.NoError(t, err)
145-
assert.Equal(t, byId.JobId, byName.JobId)
146-
147-
jobList, err := w.Jobs.ListAll(ctx, jobs.ListJobsRequest{
148-
ExpandTasks: false,
149-
})
150-
require.NoError(t, err)
151-
assert.True(t, len(jobList) >= 1)
152-
}
153-
15413
func TestAccJobsGetCorrectErrorNoTranspile(t *testing.T) {
15514
ctx, w := workspaceTest(t)
15615
_, err := w.Jobs.GetByJobId(ctx, 123456789)

0 commit comments

Comments
 (0)