|
9 | 9 | * [Ecosystem](#ecosystem) |
10 | 10 | * [PyTest Fixtures](#pytest-fixtures) |
11 | 11 | * [Logging](#logging) |
| 12 | + * [Installation](#installation) |
12 | 13 | * [`debug_env_name` fixture](#debug_env_name-fixture) |
13 | 14 | * [`debug_env` fixture](#debug_env-fixture) |
14 | 15 | * [`env_or_skip` fixture](#env_or_skip-fixture) |
@@ -74,6 +75,41 @@ also install it directly from the command line: |
74 | 75 | pip install databricks-labs-pytester |
75 | 76 | ``` |
76 | 77 |
|
| 78 | +If you use `hatch` as a build system, make sure to add `databricks-labs-pytester` as |
| 79 | +a test-time dependency and not as a compile-time dependency, otherwise your wheels will |
| 80 | +transitively depend on `pytest`, which is not usually something you need. |
| 81 | + |
| 82 | +```toml |
| 83 | +[project] |
| 84 | +name = "name-of-your-project" |
| 85 | +# ... |
| 86 | +dependencies = [ |
| 87 | + "databricks-sdk~=0.30", |
| 88 | + # ... dependencies required for your code to execute |
| 89 | +] |
| 90 | + |
| 91 | +[tool.hatch.envs.default] |
| 92 | +dependencies = [ |
| 93 | + # ... dependencies required to test/validate/format your code: |
| 94 | + "black~=24.3.0", |
| 95 | + "coverage[toml]~=7.4.4", |
| 96 | + "mypy~=1.9.0", |
| 97 | + "pylint~=3.2.2", |
| 98 | + "pylint-pytest==2.0.0a0", |
| 99 | + "databricks-labs-pylint~=0.4.0", |
| 100 | + "databricks-labs-pytester~=0.2", # <= this library |
| 101 | + "pytest~=8.3.3", |
| 102 | + "pytest-cov~=4.1.0", |
| 103 | + "pytest-mock~=3.14.0", |
| 104 | + "pytest-timeout~=2.3.1", |
| 105 | + "pytest-xdist~=3.5.0", |
| 106 | + "python-lsp-server>=1.9.0", |
| 107 | + "ruff~=0.3.4", |
| 108 | + "types-PyYAML~=6.0.12", |
| 109 | + "types-requests~=2.31.0", |
| 110 | +] |
| 111 | +``` |
| 112 | + |
77 | 113 | [[back to top](#python-testing-for-databricks)] |
78 | 114 |
|
79 | 115 | ## Ecosystem |
@@ -242,7 +278,7 @@ def test_workspace_operations(ws): |
242 | 278 | assert len(clusters) >= 0 |
243 | 279 | ``` |
244 | 280 |
|
245 | | -See also [`log_workspace_link`](#log_workspace_link-fixture), [`make_alert_permissions`](#make_alert_permissions-fixture), [`make_authorization_permissions`](#make_authorization_permissions-fixture), [`make_catalog`](#make_catalog-fixture), [`make_cluster`](#make_cluster-fixture), [`make_cluster_permissions`](#make_cluster_permissions-fixture), [`make_cluster_policy`](#make_cluster_policy-fixture), [`make_cluster_policy_permissions`](#make_cluster_policy_permissions-fixture), [`make_dashboard_permissions`](#make_dashboard_permissions-fixture), [`make_directory`](#make_directory-fixture), [`make_directory_permissions`](#make_directory_permissions-fixture), [`make_experiment`](#make_experiment-fixture), [`make_experiment_permissions`](#make_experiment_permissions-fixture), [`make_feature_table_permissions`](#make_feature_table_permissions-fixture), [`make_group`](#make_group-fixture), [`make_instance_pool`](#make_instance_pool-fixture), [`make_instance_pool_permissions`](#make_instance_pool_permissions-fixture), [`make_job`](#make_job-fixture), [`make_job_permissions`](#make_job_permissions-fixture), [`make_lakeview_dashboard_permissions`](#make_lakeview_dashboard_permissions-fixture), [`make_model`](#make_model-fixture), [`make_notebook`](#make_notebook-fixture), [`make_notebook_permissions`](#make_notebook_permissions-fixture), [`make_pipeline`](#make_pipeline-fixture), [`make_pipeline_permissions`](#make_pipeline_permissions-fixture), [`make_query`](#make_query-fixture), [`make_query_permissions`](#make_query_permissions-fixture), [`make_registered_model_permissions`](#make_registered_model_permissions-fixture), [`make_repo`](#make_repo-fixture), [`make_repo_permissions`](#make_repo_permissions-fixture), [`make_secret_scope`](#make_secret_scope-fixture), [`make_secret_scope_acl`](#make_secret_scope_acl-fixture), [`make_serving_endpoint`](#make_serving_endpoint-fixture), [`make_serving_endpoint_permissions`](#make_serving_endpoint_permissions-fixture), [`make_storage_credential`](#make_storage_credential-fixture), [`make_udf`](#make_udf-fixture), [`make_user`](#make_user-fixture), [`make_warehouse`](#make_warehouse-fixture), [`make_warehouse_permissions`](#make_warehouse_permissions-fixture), [`make_workspace_file_path_permissions`](#make_workspace_file_path_permissions-fixture), [`make_workspace_file_permissions`](#make_workspace_file_permissions-fixture), [`spark`](#spark-fixture), [`sql_backend`](#sql_backend-fixture), [`debug_env`](#debug_env-fixture), [`product_info`](#product_info-fixture). |
| 281 | +See also [`log_workspace_link`](#log_workspace_link-fixture), [`make_alert_permissions`](#make_alert_permissions-fixture), [`make_authorization_permissions`](#make_authorization_permissions-fixture), [`make_catalog`](#make_catalog-fixture), [`make_cluster`](#make_cluster-fixture), [`make_cluster_permissions`](#make_cluster_permissions-fixture), [`make_cluster_policy`](#make_cluster_policy-fixture), [`make_cluster_policy_permissions`](#make_cluster_policy_permissions-fixture), [`make_dashboard_permissions`](#make_dashboard_permissions-fixture), [`make_directory`](#make_directory-fixture), [`make_directory_permissions`](#make_directory_permissions-fixture), [`make_experiment`](#make_experiment-fixture), [`make_experiment_permissions`](#make_experiment_permissions-fixture), [`make_feature_table`](#make_feature_table-fixture), [`make_feature_table_permissions`](#make_feature_table_permissions-fixture), [`make_group`](#make_group-fixture), [`make_instance_pool`](#make_instance_pool-fixture), [`make_instance_pool_permissions`](#make_instance_pool_permissions-fixture), [`make_job`](#make_job-fixture), [`make_job_permissions`](#make_job_permissions-fixture), [`make_lakeview_dashboard_permissions`](#make_lakeview_dashboard_permissions-fixture), [`make_model`](#make_model-fixture), [`make_notebook`](#make_notebook-fixture), [`make_notebook_permissions`](#make_notebook_permissions-fixture), [`make_pipeline`](#make_pipeline-fixture), [`make_pipeline_permissions`](#make_pipeline_permissions-fixture), [`make_query`](#make_query-fixture), [`make_query_permissions`](#make_query_permissions-fixture), [`make_registered_model_permissions`](#make_registered_model_permissions-fixture), [`make_repo`](#make_repo-fixture), [`make_repo_permissions`](#make_repo_permissions-fixture), [`make_secret_scope`](#make_secret_scope-fixture), [`make_secret_scope_acl`](#make_secret_scope_acl-fixture), [`make_serving_endpoint`](#make_serving_endpoint-fixture), [`make_serving_endpoint_permissions`](#make_serving_endpoint_permissions-fixture), [`make_storage_credential`](#make_storage_credential-fixture), [`make_udf`](#make_udf-fixture), [`make_user`](#make_user-fixture), [`make_warehouse`](#make_warehouse-fixture), [`make_warehouse_permissions`](#make_warehouse_permissions-fixture), [`make_workspace_file_path_permissions`](#make_workspace_file_path_permissions-fixture), [`make_workspace_file_permissions`](#make_workspace_file_permissions-fixture), [`spark`](#spark-fixture), [`sql_backend`](#sql_backend-fixture), [`debug_env`](#debug_env-fixture), [`product_info`](#product_info-fixture). |
246 | 282 |
|
247 | 283 |
|
248 | 284 | [[back to top](#python-testing-for-databricks)] |
@@ -336,7 +372,7 @@ random_string = make_random(k=8) |
336 | 372 | assert len(random_string) == 8 |
337 | 373 | ``` |
338 | 374 |
|
339 | | -See also [`make_acc_group`](#make_acc_group-fixture), [`make_catalog`](#make_catalog-fixture), [`make_cluster`](#make_cluster-fixture), [`make_cluster_policy`](#make_cluster_policy-fixture), [`make_directory`](#make_directory-fixture), [`make_experiment`](#make_experiment-fixture), [`make_group`](#make_group-fixture), [`make_instance_pool`](#make_instance_pool-fixture), [`make_job`](#make_job-fixture), [`make_model`](#make_model-fixture), [`make_notebook`](#make_notebook-fixture), [`make_pipeline`](#make_pipeline-fixture), [`make_query`](#make_query-fixture), [`make_repo`](#make_repo-fixture), [`make_schema`](#make_schema-fixture), [`make_secret_scope`](#make_secret_scope-fixture), [`make_serving_endpoint`](#make_serving_endpoint-fixture), [`make_table`](#make_table-fixture), [`make_udf`](#make_udf-fixture), [`make_user`](#make_user-fixture), [`make_warehouse`](#make_warehouse-fixture). |
| 375 | +See also [`make_acc_group`](#make_acc_group-fixture), [`make_catalog`](#make_catalog-fixture), [`make_cluster`](#make_cluster-fixture), [`make_cluster_policy`](#make_cluster_policy-fixture), [`make_directory`](#make_directory-fixture), [`make_experiment`](#make_experiment-fixture), [`make_feature_table`](#make_feature_table-fixture), [`make_group`](#make_group-fixture), [`make_instance_pool`](#make_instance_pool-fixture), [`make_job`](#make_job-fixture), [`make_model`](#make_model-fixture), [`make_notebook`](#make_notebook-fixture), [`make_pipeline`](#make_pipeline-fixture), [`make_query`](#make_query-fixture), [`make_repo`](#make_repo-fixture), [`make_schema`](#make_schema-fixture), [`make_secret_scope`](#make_secret_scope-fixture), [`make_serving_endpoint`](#make_serving_endpoint-fixture), [`make_table`](#make_table-fixture), [`make_udf`](#make_udf-fixture), [`make_user`](#make_user-fixture), [`make_warehouse`](#make_warehouse-fixture). |
340 | 376 |
|
341 | 377 |
|
342 | 378 | [[back to top](#python-testing-for-databricks)] |
@@ -370,7 +406,8 @@ See also [`ws`](#ws-fixture). |
370 | 406 | [[back to top](#python-testing-for-databricks)] |
371 | 407 |
|
372 | 408 | ### `make_job` fixture |
373 | | -Create a Databricks job and clean it up after the test. Returns a function to create jobs. |
| 409 | +Create a Databricks job and clean it up after the test. Returns a function to create jobs, that returns |
| 410 | +a [`Job`](https://databricks-sdk-py.readthedocs.io/en/latest/dbdataclasses/jobs.html#databricks.sdk.service.jobs.Job) instance. |
374 | 411 |
|
375 | 412 | Keyword Arguments: |
376 | 413 | * `notebook_path` (str, optional): The path to the notebook. If not provided, a random notebook will be created. |
@@ -1046,6 +1083,14 @@ _No description yet._ |
1046 | 1083 | See also [`ws`](#ws-fixture). |
1047 | 1084 |
|
1048 | 1085 |
|
| 1086 | +[[back to top](#python-testing-for-databricks)] |
| 1087 | + |
| 1088 | +### `make_feature_table` fixture |
| 1089 | +_No description yet._ |
| 1090 | + |
| 1091 | +See also [`ws`](#ws-fixture), [`make_random`](#make_random-fixture). |
| 1092 | + |
| 1093 | + |
1049 | 1094 | [[back to top](#python-testing-for-databricks)] |
1050 | 1095 |
|
1051 | 1096 | ### `make_feature_table_permissions` fixture |
|
0 commit comments