From 2c5f70a7ed1089d9f571d44d0cd2a926e51632b0 Mon Sep 17 00:00:00 2001 From: Antoine Dao Date: Wed, 3 Mar 2021 09:00:00 +0000 Subject: [PATCH] test(hash): add __hash__ test to avoid pydantic 1.8 bug in future fix #280 --- tests/base/hash_test.py | 18 ++++++++++++++++++ tests/operator/operator_test.py | 8 ++++++++ tests/recipe/recipe_test.py | 8 ++++++++ 3 files changed, 34 insertions(+) create mode 100644 tests/base/hash_test.py diff --git a/tests/base/hash_test.py b/tests/base/hash_test.py new file mode 100644 index 00000000..318d39f8 --- /dev/null +++ b/tests/base/hash_test.py @@ -0,0 +1,18 @@ +import pytest + +from ._base import BaseTestClass + +@pytest.mark.hash +class BaseHashTest(BaseTestClass): + + def pytest_generate_tests(self, metafunc): + + object_instances = self.fixture_instances('valid') + + if "instance" in metafunc.fixturenames: + metafunc.parametrize("instance", object_instances) + + def test_generates_hash(self, instance): + """Test to check for bug introduced in Pydantic 1.8""" + + assert instance.__hash__ is not None diff --git a/tests/operator/operator_test.py b/tests/operator/operator_test.py index 1d007119..dc307312 100644 --- a/tests/operator/operator_test.py +++ b/tests/operator/operator_test.py @@ -2,6 +2,7 @@ from tests.base.io_test import BaseIOTest from tests.base.value_error import BaseValueErrorTest from tests.base.folder_test import BaseFolderTest +from tests.base.hash_test import BaseHashTest from queenbee.plugin import Plugin @@ -27,3 +28,10 @@ class TestFolder(BaseFolderTest): klass = Plugin asset_folder = ASSET_FOLDER + + +class TestHash(BaseHashTest): + + klass = Plugin + + asset_folder = ASSET_FOLDER diff --git a/tests/recipe/recipe_test.py b/tests/recipe/recipe_test.py index c44a6d24..47dd417a 100644 --- a/tests/recipe/recipe_test.py +++ b/tests/recipe/recipe_test.py @@ -1,6 +1,7 @@ from tests.base.io_test import BaseIOTest from tests.base.value_error import BaseValueErrorTest from tests.base.folder_test import BaseFolderTest +from tests.base.hash_test import BaseHashTest from queenbee.recipe import Recipe @@ -26,3 +27,10 @@ class TestFolder(BaseFolderTest): klass = Recipe asset_folder = ASSET_FOLDER + + +class TestHash(BaseHashTest): + + klass = Recipe + + asset_folder = ASSET_FOLDER