From b77b89a9146787d16d4cea847f908d38ded2d17d Mon Sep 17 00:00:00 2001 From: Federico Ressi Date: Thu, 19 Aug 2021 09:40:03 +0200 Subject: [PATCH] Get required fixture even from owner object type Change-Id: I61c061f4d9f2c91e5c08e08fd6a05a770cc4e272 --- tobiko/common/_fixture.py | 5 +---- tobiko/tests/unit/test_fixture.py | 6 ++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tobiko/common/_fixture.py b/tobiko/common/_fixture.py index ccc76e757..f061c371d 100644 --- a/tobiko/common/_fixture.py +++ b/tobiko/common/_fixture.py @@ -484,10 +484,7 @@ class RequiredFixtureProperty(object): self.setup = setup def __get__(self, instance, _): - if instance is None: - return self - else: - return self.get_fixture(instance) + return self.get_fixture(instance) def get_fixture(self, _instance): fixture = get_fixture(self.fixture, **self.fixture_params) diff --git a/tobiko/tests/unit/test_fixture.py b/tobiko/tests/unit/test_fixture.py index 87c942145..9159dc3ef 100644 --- a/tobiko/tests/unit/test_fixture.py +++ b/tobiko/tests/unit/test_fixture.py @@ -388,6 +388,12 @@ class RequiredFixtureTest(unit.TobikoUnitTest): fixture.setup_fixture.assert_not_called() fixture.cleanup_fixture.assert_not_called() + def test_required_fixture_with_type(self): + fixture = type(self).required_fixture + self.assertIsInstance(fixture, MyRequiredFixture) + fixture.setup_fixture.assert_called() + fixture.cleanup_fixture.assert_not_called() + class SharedFixtureTest(unit.TobikoUnitTest):