diff --git a/doc/changes/unreleased.md b/doc/changes/unreleased.md index fb47370..6401413 100644 --- a/doc/changes/unreleased.md +++ b/doc/changes/unreleased.md @@ -1,3 +1,7 @@ # Unreleased ## Summary + +## Refactoring + +* #144: Added parameter for exaudfclient binary diff --git a/exasol/python_extension_common/deployment/language_container_deployer.py b/exasol/python_extension_common/deployment/language_container_deployer.py index d3e22f1..057b462 100644 --- a/exasol/python_extension_common/deployment/language_container_deployer.py +++ b/exasol/python_extension_common/deployment/language_container_deployer.py @@ -116,11 +116,13 @@ def __init__( language_alias: str, bucketfs_path: bfs.path.PathLike, extract_validator: ExtractValidator | None = None, + udf_client_binary: str = "exaudfclient", ) -> None: self._bucketfs_path = bucketfs_path self._language_alias = language_alias self._pyexasol_conn = pyexasol_connection + self._udf_client_binary = udf_client_binary if extract_validator: self._extract_validator = extract_validator else: @@ -342,7 +344,7 @@ def _generate_new_language_settings( new_language_alias_definition = ( f"{self._language_alias}=localzmq+protobuf:///" f"{path_in_udf_without_buckets}?lang=python#" - f"{path_in_udf}/exaudf/exaudfclient" + f"{path_in_udf}/exaudf/{self._udf_client_binary}" ) new_definitions = other_definitions + [new_language_alias_definition] new_definitions_str = " ".join(new_definitions) @@ -392,6 +394,7 @@ def create( ssl_private_key: str | None = None, deploy_timeout: timedelta = timedelta(minutes=10), display_progress: bool = False, + udf_client_binary: str = "exaudfclient", ) -> "LanguageContainerDeployer": warnings.warn( "create() function is deprecated and will be removed in a future version. " @@ -478,4 +481,6 @@ def create( callback = display_extract_progress if display_progress else None extract_validator = ExtractValidator(pyexasol_conn, deploy_timeout, callback=callback) - return cls(pyexasol_conn, language_alias, bucketfs_path, extract_validator) + return cls( + pyexasol_conn, language_alias, bucketfs_path, extract_validator, udf_client_binary + ) diff --git a/poetry.lock b/poetry.lock index 09a691b..9974b13 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.3.4 and should not be changed by hand. [[package]] name = "accessible-pygments" diff --git a/test/unit/deployment/test_language_container_builder.py b/test/unit/deployment/test_language_container_builder.py index d7185c9..520dbe7 100644 --- a/test/unit/deployment/test_language_container_builder.py +++ b/test/unit/deployment/test_language_container_builder.py @@ -45,6 +45,7 @@ def test_copy_slc_flavor(tmp_path): def mock_export(monkeypatch: MonkeyPatch) -> MagicMock: mock = MagicMock() monkeypatch.setattr(api, "export", mock) + monkeypatch.setattr(api, "clean_all_images", MagicMock()) return mock