Skip to content

Commit

Permalink
Release v0.2.1 (#46)
Browse files Browse the repository at this point in the history
* Moved remaining UCX integration tests and fixtures
([#45](#45)). In this
release, we have made significant changes to the UCX integration tests
and fixtures, as indicated by multiple commit messages. Firstly, we have
moved remaining UCX integration tests and fixtures, introducing a new
PyTest fixture called `Installation` in the README.md file, providing
instructions on how to add `databricks-labs-pytester` as a test-time
dependency when using `hatch` as the build system. Additionally, we have
added the `make_feature_table` fixture, which creates a Databricks
feature table and cleans it up after the test, taking optional
parameters for customization. We have also modified the `mypy`
configuration in the `pyproject.toml` file to allow untyped imports
during the type-checking process. In the `compute.py` file, we have
updated the `make_job` fixture to return a function that creates a
`databricks.sdk.service.jobs.Job` instance, and modified the `create`
function to return the `databricks.sdk.service.jobs.Job` instance
directly. We have also added a new fixture called `make_feature_table`
in the plugin file, which simulates the lifecycle of a feature table in
the machine learning service, with functions to generate a unique name
and create/remove the feature table. In the `test_catalog.py` file, we
have made changes to clean up the file and ensure proper logging of test
events and errors. Overall, these changes aim to refactor, expand
functionality, and improve user-friendliness for the adopters of the
project, ensuring proper logging and debugging capabilities.
* [internal] port over existing UCX integration tests
([#44](#44)). Three new
integration tests have been added to the UCX project to verify the
functionality of the `RemoveAfter` property for tables and schemas. The
`test_remove_after_property_table` and
`test_remove_after_property_schema` tests create new tables and schemas,
respectively, and check if the `RemoveAfter` property is included in
their properties. However, these tests are still marked as `TODO` due to
existing issues with the `tables.get` and `schemas.get` functions. In
addition, existing UCX integration tests have been ported over, which
include new functions for testing the removal of resources based on the
`RemoveAfter` tag. These tests are located in the
`tests/integration/fixtures/test_compute.py` file and test the removal
of various types of resources, including jobs, clusters, warehouses, and
instance pools. The tests ensure that the time until purge is less than
the `TEST_RESOURCE_PURGE_TIMEOUT` value plus one hour and import the
`datetime` module and the `TEST_RESOURCE_PURGE_TIMEOUT` constant from
the `watchdog` fixture, as well as the `logging` and
`databricks.sdk.service.iam` modules.
  • Loading branch information
nfx authored Sep 18, 2024
1 parent 2590d3c commit 0fa2127
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Version changelog

## 0.2.1

* Moved remaining UCX integration tests and fixtures ([#45](https://github.com/databrickslabs/pytester/issues/45)). In this release, we have made significant changes to the UCX integration tests and fixtures, as indicated by multiple commit messages. Firstly, we have moved remaining UCX integration tests and fixtures, introducing a new PyTest fixture called `Installation` in the README.md file, providing instructions on how to add `databricks-labs-pytester` as a test-time dependency when using `hatch` as the build system. Additionally, we have added the `make_feature_table` fixture, which creates a Databricks feature table and cleans it up after the test, taking optional parameters for customization. We have also modified the `mypy` configuration in the `pyproject.toml` file to allow untyped imports during the type-checking process. In the `compute.py` file, we have updated the `make_job` fixture to return a function that creates a `databricks.sdk.service.jobs.Job` instance, and modified the `create` function to return the `databricks.sdk.service.jobs.Job` instance directly. We have also added a new fixture called `make_feature_table` in the plugin file, which simulates the lifecycle of a feature table in the machine learning service, with functions to generate a unique name and create/remove the feature table. In the `test_catalog.py` file, we have made changes to clean up the file and ensure proper logging of test events and errors. Overall, these changes aim to refactor, expand functionality, and improve user-friendliness for the adopters of the project, ensuring proper logging and debugging capabilities.
* [internal] port over existing UCX integration tests ([#44](https://github.com/databrickslabs/pytester/issues/44)). Three new integration tests have been added to the UCX project to verify the functionality of the `RemoveAfter` property for tables and schemas. The `test_remove_after_property_table` and `test_remove_after_property_schema` tests create new tables and schemas, respectively, and check if the `RemoveAfter` property is included in their properties. However, these tests are still marked as `TODO` due to existing issues with the `tables.get` and `schemas.get` functions. In addition, existing UCX integration tests have been ported over, which include new functions for testing the removal of resources based on the `RemoveAfter` tag. These tests are located in the `tests/integration/fixtures/test_compute.py` file and test the removal of various types of resources, including jobs, clusters, warehouses, and instance pools. The tests ensure that the time until purge is less than the `TEST_RESOURCE_PURGE_TIMEOUT` value plus one hour and import the `datetime` module and the `TEST_RESOURCE_PURGE_TIMEOUT` constant from the `watchdog` fixture, as well as the `logging` and `databricks.sdk.service.iam` modules.


## 0.2.0

* Added `acc` and `make_acc_group` fixtures ([#42](https://github.com/databrickslabs/pytester/issues/42)). In this release, we have added two new fixtures, `acc` and `make_acc_group`, to the open-source library. The `acc` fixture provides a Databricks AccountClient object for use in tests, which can interact with the Databricks account API and automatically determines the account host from the `DATABRICKS_HOST` environment variable. The `make_acc_group` fixture is used for managing Databricks account groups, creating them with specified members and roles, and automatically deleting them after the test is complete. This fixture mirrors the behavior of the `make_group` fixture but interacts with the account client instead of the workspace client. These fixtures enable more comprehensive integration tests for the `acc` object and its various methods, enhancing the testing and management of Databricks account groups.
Expand Down
2 changes: 1 addition & 1 deletion src/databricks/labs/pytester/__about__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.2.0"
__version__ = "0.2.1"

0 comments on commit 0fa2127

Please sign in to comment.