Skip to content

Commit fe5eab3

Browse files
Add tests for DataType.parse_value
Co-authored-by: rnovatorov <20299819+rnovatorov@users.noreply.github.com>
1 parent c311b04 commit fe5eab3

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

tests/unit/test_http/test_api/test_telemetry/__init__.py

Whitespace-only changes.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import pytest
2+
3+
from enapter.http.api.telemetry.data_type import DataType
4+
5+
6+
def test_parse_value_empty() -> None:
7+
assert DataType.FLOAT.parse_value("") is None
8+
assert DataType.INTEGER.parse_value("") is None
9+
assert DataType.STRING.parse_value("") is None
10+
assert DataType.STRING_ARRAY.parse_value("") is None
11+
assert DataType.BOOLEAN.parse_value("") is None
12+
13+
14+
def test_parse_value_float() -> None:
15+
assert DataType.FLOAT.parse_value("1.5") == 1.5
16+
assert DataType.FLOAT.parse_value("-3.14") == -3.14
17+
with pytest.raises(ValueError):
18+
DataType.FLOAT.parse_value("invalid")
19+
20+
21+
def test_parse_value_integer() -> None:
22+
assert DataType.INTEGER.parse_value("42") == 42
23+
assert DataType.INTEGER.parse_value("-7") == -7
24+
with pytest.raises(ValueError):
25+
DataType.INTEGER.parse_value("invalid")
26+
27+
28+
def test_parse_value_string() -> None:
29+
assert DataType.STRING.parse_value("hello") == "hello"
30+
31+
32+
def test_parse_value_string_array() -> None:
33+
assert DataType.STRING_ARRAY.parse_value('["a", "b"]') == ["a", "b"]
34+
with pytest.raises(ValueError):
35+
DataType.STRING_ARRAY.parse_value("invalid")
36+
37+
38+
def test_parse_value_boolean() -> None:
39+
assert DataType.BOOLEAN.parse_value("True") is True
40+
assert DataType.BOOLEAN.parse_value("true") is True
41+
assert DataType.BOOLEAN.parse_value("1") is True
42+
assert DataType.BOOLEAN.parse_value("False") is False
43+
assert DataType.BOOLEAN.parse_value("false") is False
44+
assert DataType.BOOLEAN.parse_value("0") is False
45+
with pytest.raises(ValueError, match="invalid boolean value"):
46+
DataType.BOOLEAN.parse_value("invalid")

0 commit comments

Comments
 (0)