Skip to content

Commit ffc933e

Browse files
committed
test: cover parse_version_string branches
1 parent 17a9887 commit ffc933e

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

test/test_parse_version_string.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import pytest
2+
3+
from weaviate.util import parse_version_string
4+
5+
6+
class TestParseVersionString:
7+
"""`parse_version_string` -> (major, minor), ignoring any patch."""
8+
9+
@pytest.mark.parametrize(
10+
"version,expected",
11+
[
12+
("1.18.1", (1, 18)),
13+
("1.18", (1, 18)),
14+
("1.0.0", (1, 0)),
15+
],
16+
)
17+
def test_major_minor_parsed_and_patch_ignored(self, version, expected):
18+
assert parse_version_string(version) == expected
19+
20+
@pytest.mark.parametrize("version", ["v1.18.2", "v3.4"])
21+
def test_leading_v_is_stripped(self, version):
22+
assert parse_version_string(version) == parse_version_string(version[1:])
23+
24+
def test_version_without_minor_defaults_to_zero(self):
25+
assert parse_version_string("2") == (2, 0)
26+
27+
@pytest.mark.parametrize("version", ["abc", ""])
28+
def test_unparseable_version_raises_value_error(self, version):
29+
with pytest.raises(ValueError):
30+
parse_version_string(version)

0 commit comments

Comments
 (0)