From 40329907e7ad70b8b5cde8cd13fbcc9c72e5a61e Mon Sep 17 00:00:00 2001 From: mibe Date: Tue, 18 Jun 2024 10:11:43 +0100 Subject: [PATCH] #119 Fixed the json bugs in the bucketfs connection object --- exasol/nb_connector/extension_wrapper_common.py | 12 ++++++++---- test/unit/test_extension_wrapper_common.py | 2 ++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/exasol/nb_connector/extension_wrapper_common.py b/exasol/nb_connector/extension_wrapper_common.py index ac6d177..6be7680 100644 --- a/exasol/nb_connector/extension_wrapper_common.py +++ b/exasol/nb_connector/extension_wrapper_common.py @@ -140,10 +140,14 @@ def encapsulate_bucketfs_credentials( def to_json_str(**kwargs) -> str: def format_value(v): - return f'"{v}"' if isinstance(v, str) else v - - return ", ".join(f'"{k}":{format_value(v)}' for k, v in kwargs.items() - if v is not None) + if isinstance(v, str): + return f'"{v}"' + elif isinstance(v, bool): + return str(v).lower() + return v + + return "{" + ", ".join(f'"{k}":{format_value(v)}' for k, v in kwargs.items() + if v is not None) + "}" backend = get_backend(conf) if backend == StorageBackend.onprem: diff --git a/test/unit/test_extension_wrapper_common.py b/test/unit/test_extension_wrapper_common.py index 59f8d43..9080589 100644 --- a/test/unit/test_extension_wrapper_common.py +++ b/test/unit/test_extension_wrapper_common.py @@ -39,6 +39,8 @@ def validate_params(actual_params: str, expected_params: tuple[list[str], list[A for param_name, param_value in zip(*expected_params): if isinstance(param_value, str): param_value = f'"{param_value}"' + elif isinstance(param_value, bool): + param_value = str(param_value).lower() expected_pattern = rf'"{param_name}":\s*{param_value}' assert re.search(expected_pattern, actual_params) is not None