|
6 | 6 | import sys |
7 | 7 | import typing |
8 | 8 | import urllib.parse |
9 | | -from functools import partial |
10 | 9 | from pathlib import Path |
11 | 10 |
|
12 | 11 | import pytest |
13 | 12 |
|
14 | | -from databricks.sdk.service.compute import (DataSecurityMode, ResultType, |
15 | | - SparkVersion) |
| 13 | +from databricks.sdk.service.compute import SparkVersion |
16 | 14 | from databricks.sdk.service.jobs import ViewType |
17 | | -from databricks.sdk.service.workspace import ImportFormat |
18 | 15 |
|
19 | 16 |
|
20 | 17 | @pytest.fixture |
@@ -42,59 +39,59 @@ def fresh_wheel_file(tmp_path) -> Path: |
42 | 39 | raise RuntimeError(e.stderr) |
43 | 40 |
|
44 | 41 |
|
45 | | -@pytest.mark.parametrize("mode", [DataSecurityMode.SINGLE_USER, DataSecurityMode.USER_ISOLATION]) |
46 | | -def test_runtime_auth_from_interactive_on_uc(ucws, fresh_wheel_file, env_or_skip, random, mode): |
47 | | - instance_pool_id = env_or_skip("TEST_INSTANCE_POOL_ID") |
48 | | - latest = ucws.clusters.select_spark_version(latest=True) |
49 | | - |
50 | | - my_user = ucws.current_user.me().user_name |
51 | | - |
52 | | - workspace_location = f"/Users/{my_user}/wheels/{random(10)}" |
53 | | - ucws.workspace.mkdirs(workspace_location) |
54 | | - |
55 | | - wsfs_wheel = f"{workspace_location}/{fresh_wheel_file.name}" |
56 | | - with fresh_wheel_file.open("rb") as f: |
57 | | - ucws.workspace.upload(wsfs_wheel, f, format=ImportFormat.AUTO) |
58 | | - |
59 | | - from databricks.sdk.service.compute import Language |
60 | | - |
61 | | - interactive_cluster = ucws.clusters.create( |
62 | | - cluster_name=f"native-auth-on-{mode.name}", |
63 | | - spark_version=latest, |
64 | | - instance_pool_id=instance_pool_id, |
65 | | - autotermination_minutes=10, |
66 | | - num_workers=1, |
67 | | - data_security_mode=mode, |
68 | | - ).result() |
69 | | - ctx = ucws.command_execution.create(cluster_id=interactive_cluster.cluster_id, language=Language.PYTHON).result() |
70 | | - run = partial( |
71 | | - ucws.command_execution.execute, |
72 | | - cluster_id=interactive_cluster.cluster_id, |
73 | | - context_id=ctx.id, |
74 | | - language=Language.PYTHON, |
75 | | - ) |
76 | | - try: |
77 | | - res = run(command=f"%pip install /Workspace{wsfs_wheel}\ndbutils.library.restartPython()").result() |
78 | | - results = res.results |
79 | | - if results.result_type != ResultType.TEXT: |
80 | | - msg = f"({mode}) unexpected result type: {results.result_type}: {results.summary}\n{results.cause}" |
81 | | - raise RuntimeError(msg) |
82 | | - |
83 | | - res = run( |
84 | | - command="\n".join( |
85 | | - [ |
86 | | - "from databricks.sdk import WorkspaceClient", |
87 | | - "w = WorkspaceClient()", |
88 | | - "me = w.current_user.me()", |
89 | | - "print(me.user_name)", |
90 | | - ] |
91 | | - ) |
92 | | - ).result() |
93 | | - assert res.results.result_type == ResultType.TEXT, f"unexpected result type: {res.results.result_type}" |
94 | | - |
95 | | - assert my_user == res.results.data, f"unexpected user: {res.results.data}" |
96 | | - finally: |
97 | | - ucws.clusters.permanent_delete(interactive_cluster.cluster_id) |
| 42 | +# @pytest.mark.parametrize("mode", [DataSecurityMode.SINGLE_USER, DataSecurityMode.USER_ISOLATION]) |
| 43 | +# def test_runtime_auth_from_interactive_on_uc(ucws, fresh_wheel_file, env_or_skip, random, mode): |
| 44 | +# instance_pool_id = env_or_skip("TEST_INSTANCE_POOL_ID") |
| 45 | +# latest = ucws.clusters.select_spark_version(latest=True) |
| 46 | + |
| 47 | +# my_user = ucws.current_user.me().user_name |
| 48 | + |
| 49 | +# workspace_location = f"/Users/{my_user}/wheels/{random(10)}" |
| 50 | +# ucws.workspace.mkdirs(workspace_location) |
| 51 | + |
| 52 | +# wsfs_wheel = f"{workspace_location}/{fresh_wheel_file.name}" |
| 53 | +# with fresh_wheel_file.open("rb") as f: |
| 54 | +# ucws.workspace.upload(wsfs_wheel, f, format=ImportFormat.AUTO) |
| 55 | + |
| 56 | +# from databricks.sdk.service.compute import Language |
| 57 | + |
| 58 | +# interactive_cluster = ucws.clusters.create( |
| 59 | +# cluster_name=f"native-auth-on-{mode.name}", |
| 60 | +# spark_version=latest, |
| 61 | +# instance_pool_id=instance_pool_id, |
| 62 | +# autotermination_minutes=10, |
| 63 | +# num_workers=1, |
| 64 | +# data_security_mode=mode, |
| 65 | +# ).result() |
| 66 | +# ctx = ucws.command_execution.create(cluster_id=interactive_cluster.cluster_id, language=Language.PYTHON).result() |
| 67 | +# run = partial( |
| 68 | +# ucws.command_execution.execute, |
| 69 | +# cluster_id=interactive_cluster.cluster_id, |
| 70 | +# context_id=ctx.id, |
| 71 | +# language=Language.PYTHON, |
| 72 | +# ) |
| 73 | +# try: |
| 74 | +# res = run(command=f"%pip install /Workspace{wsfs_wheel}\ndbutils.library.restartPython()").result() |
| 75 | +# results = res.results |
| 76 | +# if results.result_type != ResultType.TEXT: |
| 77 | +# msg = f"({mode}) unexpected result type: {results.result_type}: {results.summary}\n{results.cause}" |
| 78 | +# raise RuntimeError(msg) |
| 79 | + |
| 80 | +# res = run( |
| 81 | +# command="\n".join( |
| 82 | +# [ |
| 83 | +# "from databricks.sdk import WorkspaceClient", |
| 84 | +# "w = WorkspaceClient()", |
| 85 | +# "me = w.current_user.me()", |
| 86 | +# "print(me.user_name)", |
| 87 | +# ] |
| 88 | +# ) |
| 89 | +# ).result() |
| 90 | +# assert res.results.result_type == ResultType.TEXT, f"unexpected result type: {res.results.result_type}" |
| 91 | + |
| 92 | +# assert my_user == res.results.data, f"unexpected user: {res.results.data}" |
| 93 | +# finally: |
| 94 | +# ucws.clusters.permanent_delete(interactive_cluster.cluster_id) |
98 | 95 |
|
99 | 96 |
|
100 | 97 | def _get_lts_versions(w) -> typing.List[SparkVersion]: |
|
0 commit comments