X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=tests%2Futils.py;fp=tests%2Futils.py;h=69037cc8b5d628a8da68e4d3f40921b3d80f2c7c;hb=5afb47e3aaed921997d11abf88a81602700639f3;hp=c1a22b64fb56c9c4fd566245ce047c1d7fff428d;hpb=f8118b1ed8615870b490566cf649d191f5877932;p=plomtask diff --git a/tests/utils.py b/tests/utils.py index c1a22b6..69037cc 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -18,18 +18,25 @@ from plomtask.exceptions import NotFoundException, HandledException class TestCaseSansDB(TestCase): """Tests requiring no DB setup.""" checked_class: Any + do_id_test: bool = False + default_init_args: list[Any] = [] + versioned_defaults_to_test: dict[str, str | float] = {} - def check_id_setting(self, *args: Any) -> None: + def test_id_setting(self) -> None: """Test .id_ being set and its legal range being enforced.""" + if not self.do_id_test: + return with self.assertRaises(HandledException): - self.checked_class(0, *args) - obj = self.checked_class(5, *args) + self.checked_class(0, *self.default_init_args) + obj = self.checked_class(5, *self.default_init_args) self.assertEqual(obj.id_, 5) - def check_versioned_defaults(self, attrs: dict[str, Any]) -> None: + def test_versioned_defaults(self) -> None: """Test defaults of VersionedAttributes.""" - obj = self.checked_class(None) - for k, v in attrs.items(): + if len(self.versioned_defaults_to_test) == 0: + return + obj = self.checked_class(1, *self.default_init_args) + for k, v in self.versioned_defaults_to_test.items(): self.assertEqual(getattr(obj, k).newest, v)