From fe5eab3da3a0c451c22a10a8328692fbacaa85e3 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 11:14:23 +0000 Subject: [PATCH] Add tests for DataType.parse_value Co-authored-by: rnovatorov <20299819+rnovatorov@users.noreply.github.com> --- .../test_api/test_telemetry/__init__.py | 0 .../test_api/test_telemetry/test_data_type.py | 46 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 tests/unit/test_http/test_api/test_telemetry/__init__.py create mode 100644 tests/unit/test_http/test_api/test_telemetry/test_data_type.py diff --git a/tests/unit/test_http/test_api/test_telemetry/__init__.py b/tests/unit/test_http/test_api/test_telemetry/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/unit/test_http/test_api/test_telemetry/test_data_type.py b/tests/unit/test_http/test_api/test_telemetry/test_data_type.py new file mode 100644 index 0000000..b8af4ae --- /dev/null +++ b/tests/unit/test_http/test_api/test_telemetry/test_data_type.py @@ -0,0 +1,46 @@ +import pytest + +from enapter.http.api.telemetry.data_type import DataType + + +def test_parse_value_empty() -> None: + assert DataType.FLOAT.parse_value("") is None + assert DataType.INTEGER.parse_value("") is None + assert DataType.STRING.parse_value("") is None + assert DataType.STRING_ARRAY.parse_value("") is None + assert DataType.BOOLEAN.parse_value("") is None + + +def test_parse_value_float() -> None: + assert DataType.FLOAT.parse_value("1.5") == 1.5 + assert DataType.FLOAT.parse_value("-3.14") == -3.14 + with pytest.raises(ValueError): + DataType.FLOAT.parse_value("invalid") + + +def test_parse_value_integer() -> None: + assert DataType.INTEGER.parse_value("42") == 42 + assert DataType.INTEGER.parse_value("-7") == -7 + with pytest.raises(ValueError): + DataType.INTEGER.parse_value("invalid") + + +def test_parse_value_string() -> None: + assert DataType.STRING.parse_value("hello") == "hello" + + +def test_parse_value_string_array() -> None: + assert DataType.STRING_ARRAY.parse_value('["a", "b"]') == ["a", "b"] + with pytest.raises(ValueError): + DataType.STRING_ARRAY.parse_value("invalid") + + +def test_parse_value_boolean() -> None: + assert DataType.BOOLEAN.parse_value("True") is True + assert DataType.BOOLEAN.parse_value("true") is True + assert DataType.BOOLEAN.parse_value("1") is True + assert DataType.BOOLEAN.parse_value("False") is False + assert DataType.BOOLEAN.parse_value("false") is False + assert DataType.BOOLEAN.parse_value("0") is False + with pytest.raises(ValueError, match="invalid boolean value"): + DataType.BOOLEAN.parse_value("invalid")