Skip to content

Commit 396ffaf

Browse files
authored
Migrate clusters to the new fixture framework (#162)
1 parent c00cda7 commit 396ffaf

File tree

2 files changed

+16
-38
lines changed

2 files changed

+16
-38
lines changed

tests/integration/conftest.py

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import pytest
1010
from databricks.sdk import AccountClient, WorkspaceClient
1111
from databricks.sdk.core import Config, DatabricksError
12-
from databricks.sdk.service.compute import ClusterDetails, CreatePolicyResponse
12+
from databricks.sdk.service.compute import CreatePolicyResponse
1313
from databricks.sdk.service.iam import AccessControlRequest, PermissionLevel
1414
from databricks.sdk.service.jobs import CreateResponse
1515
from databricks.sdk.service.ml import CreateExperimentResponse, ModelDatabricks
@@ -354,41 +354,6 @@ def cluster_policies(env: EnvironmentInfo, ws: WorkspaceClient) -> list[CreatePo
354354
Threader(executables).run()
355355

356356

357-
@pytest.fixture
358-
def clusters(env: EnvironmentInfo, ws: WorkspaceClient) -> list[ClusterDetails]:
359-
logger.debug("Creating test clusters")
360-
361-
creators = [
362-
partial(
363-
ws.clusters.create,
364-
spark_version=ws.clusters.select_spark_version(latest=True),
365-
instance_pool_id=os.environ["TEST_INSTANCE_POOL_ID"],
366-
driver_instance_pool_id=os.environ["TEST_INSTANCE_POOL_ID"],
367-
cluster_name=f"{env.test_uid}-test-{i}",
368-
num_workers=1,
369-
)
370-
for i in range(NUM_TEST_CLUSTERS)
371-
]
372-
373-
test_clusters = Threader(creators).run()
374-
375-
_set_random_permissions(
376-
test_clusters,
377-
"cluster_id",
378-
RequestObjectType.CLUSTERS,
379-
env,
380-
ws,
381-
permission_levels=[PermissionLevel.CAN_ATTACH_TO, PermissionLevel.CAN_MANAGE, PermissionLevel.CAN_RESTART],
382-
)
383-
384-
yield test_clusters
385-
386-
logger.debug("Deleting test clusters")
387-
executables = [partial(ws.clusters.permanent_delete, c.cluster_id) for c in test_clusters]
388-
Threader(executables).run()
389-
logger.debug("Test clusters deleted")
390-
391-
392357
@pytest.fixture
393358
def experiments(ws: WorkspaceClient, env: EnvironmentInfo) -> list[CreateExperimentResponse]:
394359
logger.debug("Creating test experiments")
@@ -565,7 +530,6 @@ def workspace_objects(ws: WorkspaceClient, env: EnvironmentInfo) -> WorkspaceObj
565530

566531
@pytest.fixture
567532
def verifiable_objects(
568-
clusters,
569533
cluster_policies,
570534
pipelines,
571535
jobs,
@@ -578,7 +542,6 @@ def verifiable_objects(
578542
_verifiable_objects = [
579543
(workspace_objects, "workspace_objects", None),
580544
(tokens, "tokens", RequestObjectType.AUTHORIZATION),
581-
(clusters, "cluster_id", RequestObjectType.CLUSTERS),
582545
(cluster_policies, "policy_id", RequestObjectType.CLUSTER_POLICIES),
583546
(pipelines, "pipeline_id", RequestObjectType.PIPELINES),
584547
(jobs, "job_id", RequestObjectType.JOBS),

tests/integration/test_e2e.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
import os
23
import random
34
from typing import Literal
45

@@ -131,6 +132,8 @@ def test_e2e(
131132
verifiable_objects: list[tuple[list, str, RequestObjectType | None]],
132133
make_instance_pool,
133134
make_instance_pool_permissions,
135+
make_cluster,
136+
make_cluster_permissions,
134137
make_secret_scope,
135138
make_secret_scope_acl,
136139
):
@@ -145,6 +148,18 @@ def test_e2e(
145148
)
146149
verifiable_objects.append(([pool], "instance_pool_id", RequestObjectType.INSTANCE_POOLS))
147150

151+
cluster = make_cluster(instance_pool_id=os.environ["TEST_INSTANCE_POOL_ID"], single_node=True)
152+
make_cluster_permissions(
153+
object_id=cluster.cluster_id,
154+
permission_level=random.choice(
155+
[PermissionLevel.CAN_ATTACH_TO, PermissionLevel.CAN_MANAGE, PermissionLevel.CAN_RESTART]
156+
),
157+
group_name=ws_group.display_name,
158+
)
159+
verifiable_objects.append(
160+
([cluster], "cluster_id", RequestObjectType.CLUSTERS),
161+
)
162+
148163
scope = make_secret_scope()
149164
make_secret_scope_acl(scope=scope, principal=ws_group.display_name, permission=workspace.AclPermission.WRITE)
150165
verifiable_objects.append(([scope], "secret_scopes", None))

0 commit comments

Comments
 (0)