diff --git a/cdtb/storage.py b/cdtb/storage.py index 4deeed4b..15506ff2 100644 --- a/cdtb/storage.py +++ b/cdtb/storage.py @@ -21,11 +21,13 @@ class BaseVersion: """ def __init__(self, v: Union[str, tuple]): + if not v: + raise ValueError(v) if isinstance(v, str): self.s = v self.t = tuple(int(x) for x in v.split('.')) elif isinstance(v, tuple): - self.s = '.'.join(str(x) for x in v) + self.s = '.'.join(str(int(x)) for x in v) self.t = v else: raise TypeError(v) diff --git a/tests/test_cli.py b/tests/test_cli.py index df4173a1..c96e0b4d 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1,5 +1,4 @@ import os -import argparse import pytest import cdtb from cdtb.storage import ( @@ -9,10 +8,7 @@ PatchElement, ) import cdtb.__main__ as cdtb_main -from cdtb.__main__ import ( - create_parser, - parse_storage_args, -) +from cdtb.__main__ import create_parser @pytest.fixture diff --git a/tests/test_rads.py b/tests/test_rads.py index d57947af..522136a7 100644 --- a/tests/test_rads.py +++ b/tests/test_rads.py @@ -1,6 +1,6 @@ import os import pytest -from tools import * +from tools import count_calls, mock_response from cdtb.rads import ( RadsVersion, RadsStorage, @@ -89,7 +89,7 @@ def test_project_get_versions(storage, monkeypatch): @count_calls def request_get(path): - assert path == f"projects/name/releases/releaselisting" + assert path == "projects/name/releases/releaselisting" return mock_response(b'0.0.1.7\r\n0.0.1.6\r\n0.0.1.5\r\n') monkeypatch.setattr(storage, 'request_get', request_get) diff --git a/tests/test_storage.py b/tests/test_storage.py index 64eb4809..6cff8b69 100644 --- a/tests/test_storage.py +++ b/tests/test_storage.py @@ -1,4 +1,3 @@ -import os import pytest from cdtb.storage import ( BaseVersion, @@ -17,10 +16,12 @@ def test_base_version_init_ok(t, s): assert BaseVersion(s).s == s @pytest.mark.parametrize("arg, exc", [ - (None, TypeError), + (None, ValueError), ("", ValueError), ((), ValueError), - (("1", "2"), TypeError), + (("a", "b"), ValueError), + # Supported but could be refused + #(("1", "2"), ValueError), ]) def test_base_version_init_bad(arg, exc): with pytest.raises(exc): @@ -55,12 +56,12 @@ def test_patch_version_init_ok(arg, t, s): assert v.s == s @pytest.mark.parametrize("arg, exc", [ - (None, TypeError), + (None, ValueError), ("", ValueError), ("bad", ValueError), ("9", AssertionError), ]) -def test_base_version_init_bad(arg, exc): +def test_patch_version_init_bad(arg, exc): with pytest.raises(exc): PatchVersion(arg)