Skip to content

Commit 00512b9

Browse files
committed
update
1 parent ae88ab3 commit 00512b9

File tree

9 files changed

+64
-37
lines changed

9 files changed

+64
-37
lines changed

tests/integration/conftest.py

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -115,36 +115,58 @@ def inner(var: str) -> str:
115115

116116
@pytest.fixture(scope="session")
117117
def schema(ucws, random):
118-
schema = ucws.schemas.create("dbfs-" + random(), "main")
118+
from databricks.sdk.catalog.v2.client import SchemasClient
119+
120+
sc = SchemasClient(config=ucws)
121+
schema = sc.create("dbfs-" + random(), "main")
119122
yield schema
120-
ucws.schemas.delete(schema.full_name)
123+
sc.delete(schema.full_name)
121124

122125

123126
@pytest.fixture(scope="session")
124127
def volume(ucws, schema):
125-
volume = ucws.volumes.create("main", schema.name, "dbfs-test", VolumeType.MANAGED)
128+
from databricks.sdk.catalog.v2.client import VolumesClient
129+
130+
vc = VolumesClient(config=ucws)
131+
volume = vc.create("main", schema.name, "dbfs-test", VolumeType.MANAGED)
126132
yield "/Volumes/" + volume.full_name.replace(".", "/")
127-
ucws.volumes.delete(volume.full_name)
133+
vc.delete(volume.full_name)
128134

129135

130136
@pytest.fixture(scope="session", params=[False, True])
131137
def files_api(request, ucws) -> FilesAPI:
138+
132139
if request.param:
133140
# ensure new Files API client is used for files of any size
134-
ucws.config.multipart_upload_min_stream_size = 0
141+
ucws.multipart_upload_min_stream_size = 0
135142
# enable new Files API client
136-
return FilesExt(ucws.api_client, ucws.config)
143+
from databricks.sdk.databricks.core import ApiClient
144+
145+
client = ApiClient(cfg=ucws)
146+
147+
return FilesExt(client, ucws)
137148
else:
138149
# use the default client
139-
return ucws.files
150+
from databricks.sdk.databricks.core import ApiClient
151+
from databricks.sdk.files.v2.files import FilesAPI
152+
153+
client = ApiClient(cfg=ucws)
154+
155+
api = FilesAPI(api_client=client)
156+
return api
140157

141158

142159
@pytest.fixture()
143160
def workspace_dir(w, random):
144-
directory = f"/Users/{w.current_user.me().user_name}/dir-{random(12)}"
145-
w.workspace.mkdirs(directory)
161+
from databricks.sdk.iam.v2.client import CurrentUserClient
162+
from databricks.sdk.workspace.v2.client import WorkspaceClient
163+
164+
cuc = CurrentUserClient(config=w)
165+
wc = WorkspaceClient(config=w)
166+
directory = f"/Users/{cuc.me().user_name}/dir-{random(12)}"
167+
wc.mkdirs(directory)
146168
yield directory
147-
w.workspace.delete(directory, recursive=True)
169+
wc.delete(directory, recursive=True)
148170

149171

150172
def _load_debug_env_if_runs_from_ide(key) -> bool:

tests/integration/test_client.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ def test_get_workspace_client(ucacct, env_or_skip):
66
assert w.current_user.me().active
77

88

9-
def test_get_workspace_id(ucws, env_or_skip):
10-
ws_id = int(env_or_skip("THIS_WORKSPACE_ID"))
11-
assert ucws.get_workspace_id() == ws_id
9+
# TODO: need to decide if we want get_workspace_id on every client
10+
# def test_get_workspace_id(ucws, env_or_skip):
11+
# ws_id = int(env_or_skip("THIS_WORKSPACE_ID"))
12+
# assert ucws.get_workspace_id() == ws_id
1213

1314

1415
def test_creating_ws_client_from_ac_client_does_not_override_config(ucacct, env_or_skip):

tests/integration/test_clusters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import pytest
32

43
from databricks.sdk.compute.v2 import compute
@@ -28,6 +27,7 @@ def test_cluster_events(w, env_or_skip):
2827
count += 1
2928
assert count > 0
3029

30+
3131
# TODO: Re-enable this test after adding waiters to the SDK
3232
# def test_ensure_cluster_is_running(w, env_or_skip):
3333
# cluster_id = env_or_skip("TEST_DEFAULT_CLUSTER_ID")

tests/integration/test_data_plane.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# TODO: Re-enable this after adding data plane services to the SDK
32
# def test_data_plane_token_source(ucws, env_or_skip):
43
# endpoint = env_or_skip("SERVING_ENDPOINT_NAME")

tests/integration/test_dbutils.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import pytest
66

77
from databricks.sdk.databricks.core import DatabricksError
8-
from databricks.sdk.databricks.errors import NotFound
98
from databricks.sdk.databricks.dbutils import RemoteDbUtils
9+
from databricks.sdk.databricks.errors import NotFound
1010

1111

1212
def test_rest_dbfs_ls(w, env_or_skip):
@@ -16,9 +16,10 @@ def test_rest_dbfs_ls(w, env_or_skip):
1616

1717
assert len(x) > 1
1818

19+
1920
# TODO: Re-enable this test after adding waiters to the SDK
2021
# def test_proxy_dbfs_mounts(w, env_or_skip):
21-
22+
2223
# w.cluster_id = env_or_skip("TEST_DEFAULT_CLUSTER_ID")
2324

2425
# dbu = RemoteDbUtils(config=w)
@@ -29,11 +30,12 @@ def test_rest_dbfs_ls(w, env_or_skip):
2930

3031
@pytest.fixture(params=["dbfs", "volumes"])
3132
def fs_and_base_path(request, ucws, volume):
33+
dbu = RemoteDbUtils(config=ucws)
3234
if request.param == "dbfs":
33-
fs = ucws.dbutils.fs
35+
fs = dbu.fs
3436
base_path = "/tmp"
3537
else:
36-
fs = ucws.dbutils.fs
38+
fs = dbu.fs
3739
base_path = volume
3840
return fs, base_path
3941

@@ -189,7 +191,7 @@ def test_secrets(w, random):
189191
logger.info(f"Before loading secret: {random_value}")
190192

191193
from databricks.sdk.workspace.v2.client import SecretsClient
192-
194+
193195
sc = SecretsClient(config=w)
194196
sc.create_scope(random_scope)
195197
sc.put_secret(random_scope, key_for_string, string_value=random_value)

tests/integration/test_files.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77

88
import pytest
99

10+
from databricks.sdk.catalog.v2.client import SchemasClient
1011
from databricks.sdk.databricks.core import DatabricksError
1112
from databricks.sdk.files.v2.client import DbfsClient
1213

14+
1315
def test_local_io(random):
1416
if platform.system() == "Windows":
1517
dummy_file = f"C:\\Windows\\Temp\\{random()}"
@@ -231,8 +233,9 @@ def __exit__(self, exc_type, exc_val, exc_tb):
231233

232234
@staticmethod
233235
def create_schema(w, catalog, schema):
234-
res = w.schemas.create(catalog_name=catalog, name=schema)
235-
return ResourceWithCleanup(lambda: w.schemas.delete(res.full_name))
236+
sc = SchemasClient(config=w)
237+
res = sc.create(catalog_name=catalog, name=schema)
238+
return ResourceWithCleanup(lambda: sc.delete(res.full_name))
236239

237240
@staticmethod
238241
def create_volume(w, catalog, schema, volume):

tests/integration/test_iam.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import pytest
22

33
from databricks.sdk.databricks import errors
4-
from databricks.sdk.databricks.core import DatabricksError
5-
from databricks.sdk.iam.v2.client import AccountGroupsClient, AccountUsersClient, AccountServicePrincipalsClient
6-
from databricks.sdk.iam.v2.client import GroupsClient, UsersClient, ServicePrincipalsClient
7-
from databricks.sdk.databricks.core import ApiClient
4+
from databricks.sdk.databricks.core import ApiClient, DatabricksError
5+
from databricks.sdk.iam.v2.client import (AccountGroupsClient,
6+
AccountServicePrincipalsClient,
7+
AccountUsersClient, GroupsClient,
8+
ServicePrincipalsClient, UsersClient)
89

910

1011
def test_filtering_groups(w, random):

tests/integration/test_workspace.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import io
22

3-
from databricks.sdk.workspace.v2.workspace import ImportFormat, Language
4-
from databricks.sdk.workspace.v2.client import WorkspaceClient
53
from databricks.sdk.iam.v2.client import CurrentUserClient
4+
from databricks.sdk.workspace.v2.client import WorkspaceClient
5+
from databricks.sdk.workspace.v2.workspace import ImportFormat, Language
6+
67

78
def test_workspace_recursive_list(w, workspace_dir, random):
89
wc = WorkspaceClient(config=w)
@@ -25,9 +26,9 @@ def test_workspace_recursive_list(w, workspace_dir, random):
2526
def test_workspace_upload_download_notebooks(w, random):
2627
wc = WorkspaceClient(config=w)
2728
cuc = CurrentUserClient(config=w)
28-
29+
2930
notebook = f"/Users/{cuc.me().user_name}/notebook-{random(12)}.py"
30-
31+
3132
wc.upload(notebook, io.BytesIO(b"print(1)"))
3233
with wc.download(notebook) as f:
3334
content = f.read()
@@ -39,7 +40,7 @@ def test_workspace_upload_download_notebooks(w, random):
3940
def test_workspace_unzip_notebooks(w, random):
4041
wc = WorkspaceClient(config=w)
4142
cuc = CurrentUserClient(config=w)
42-
43+
4344
notebook = f"/Users/{cuc.me().user_name}/notebook-{random(12)}.py"
4445

4546
# Big notebooks can be gzipped during transfer by the API (out of our control)
@@ -58,7 +59,7 @@ def test_workspace_unzip_notebooks(w, random):
5859
def test_workspace_download_connection_closed(w, random):
5960
wc = WorkspaceClient(config=w)
6061
cuc = CurrentUserClient(config=w)
61-
62+
6263
notebook = f"/Users/{cuc.me().user_name}/notebook-{random(12)}.py"
6364

6465
wc.upload(notebook, io.BytesIO(b"print(1)"))
@@ -74,7 +75,7 @@ def test_workspace_download_connection_closed(w, random):
7475
def test_workspace_upload_download_files(w, random):
7576
wc = WorkspaceClient(config=w)
7677
cuc = CurrentUserClient(config=w)
77-
78+
7879
py_file = f"/Users/{cuc.me().user_name}/file-{random(12)}.py"
7980

8081
wc.upload(py_file, io.BytesIO(b"print(1)"), format=ImportFormat.AUTO)
@@ -88,7 +89,7 @@ def test_workspace_upload_download_files(w, random):
8889
def test_workspace_upload_download_txt_files(w, random):
8990
wc = WorkspaceClient(config=w)
9091
cuc = CurrentUserClient(config=w)
91-
92+
9293
txt_file = f"/Users/{cuc.me().user_name}/txt-{random(12)}.txt"
9394

9495
wc.upload(txt_file, io.BytesIO(b"print(1)"), format=ImportFormat.AUTO)
@@ -102,7 +103,7 @@ def test_workspace_upload_download_txt_files(w, random):
102103
def test_workspace_upload_download_notebooks_no_extension(w, random):
103104
wc = WorkspaceClient(config=w)
104105
cuc = CurrentUserClient(config=w)
105-
106+
106107
nb = f"/Users/{cuc.me().user_name}/notebook-{random(12)}"
107108

108109
wc.upload(

tests/test_client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
31
# from databricks.sdk import WorkspaceClient
42

53

0 commit comments

Comments
 (0)