diff options
Diffstat (limited to 'gitlab/tests/test_base.py')
-rw-r--r-- | gitlab/tests/test_base.py | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/gitlab/tests/test_base.py b/gitlab/tests/test_base.py index 666060c..58c0d47 100644 --- a/gitlab/tests/test_base.py +++ b/gitlab/tests/test_base.py @@ -16,7 +16,6 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. import pickle -import unittest from gitlab import base import pytest @@ -35,7 +34,17 @@ class FakeManager(base.RESTManager): _path = "/tests" -class TestRESTManager(unittest.TestCase): +@pytest.fixture +def fake_gitlab(): + return FakeGitlab() + + +@pytest.fixture +def fake_manager(fake_gitlab): + return FakeManager(fake_gitlab) + + +class TestRESTManager: def test_computed_path_simple(self): class MGR(base.RESTManager): _path = "/tests" @@ -65,22 +74,18 @@ class TestRESTManager(unittest.TestCase): assert mgr.path == "/tests" -class TestRESTObject(unittest.TestCase): - def setUp(self): - self.gitlab = FakeGitlab() - self.manager = FakeManager(self.gitlab) - - def test_instanciate(self): - obj = FakeObject(self.manager, {"foo": "bar"}) +class TestRESTObject: + def test_instantiate(self, fake_gitlab, fake_manager): + obj = FakeObject(fake_manager, {"foo": "bar"}) assert {"foo": "bar"} == obj._attrs assert {} == obj._updated_attrs assert None == obj._create_managers() - assert self.manager == obj.manager - assert self.gitlab == obj.manager.gitlab + assert fake_manager == obj.manager + assert fake_gitlab == obj.manager.gitlab - def test_pickability(self): - obj = FakeObject(self.manager, {"foo": "bar"}) + def test_picklability(self, fake_manager): + obj = FakeObject(fake_manager, {"foo": "bar"}) original_obj_module = obj._module pickled = pickle.dumps(obj) unpickled = pickle.loads(pickled) @@ -89,8 +94,8 @@ class TestRESTObject(unittest.TestCase): assert unpickled._module == original_obj_module pickled2 = pickle.dumps(unpickled) - def test_attrs(self): - obj = FakeObject(self.manager, {"foo": "bar"}) + def test_attrs(self, fake_manager): + obj = FakeObject(fake_manager, {"foo": "bar"}) assert "bar" == obj.foo with pytest.raises(AttributeError): @@ -101,57 +106,57 @@ class TestRESTObject(unittest.TestCase): assert {"foo": "bar"} == obj._attrs assert {"bar": "baz"} == obj._updated_attrs - def test_get_id(self): - obj = FakeObject(self.manager, {"foo": "bar"}) + def test_get_id(self, fake_manager): + obj = FakeObject(fake_manager, {"foo": "bar"}) obj.id = 42 assert 42 == obj.get_id() obj.id = None assert None == obj.get_id() - def test_custom_id_attr(self): + def test_custom_id_attr(self, fake_manager): class OtherFakeObject(FakeObject): _id_attr = "foo" - obj = OtherFakeObject(self.manager, {"foo": "bar"}) + obj = OtherFakeObject(fake_manager, {"foo": "bar"}) assert "bar" == obj.get_id() - def test_update_attrs(self): - obj = FakeObject(self.manager, {"foo": "bar"}) + def test_update_attrs(self, fake_manager): + obj = FakeObject(fake_manager, {"foo": "bar"}) obj.bar = "baz" obj._update_attrs({"foo": "foo", "bar": "bar"}) assert {"foo": "foo", "bar": "bar"} == obj._attrs assert {} == obj._updated_attrs - def test_create_managers(self): + def test_create_managers(self, fake_gitlab, fake_manager): class ObjectWithManager(FakeObject): _managers = (("fakes", "FakeManager"),) - obj = ObjectWithManager(self.manager, {"foo": "bar"}) + obj = ObjectWithManager(fake_manager, {"foo": "bar"}) obj.id = 42 assert isinstance(obj.fakes, FakeManager) - assert obj.fakes.gitlab == self.gitlab + assert obj.fakes.gitlab == fake_gitlab assert obj.fakes._parent == obj - def test_equality(self): - obj1 = FakeObject(self.manager, {"id": "foo"}) - obj2 = FakeObject(self.manager, {"id": "foo", "other_attr": "bar"}) + def test_equality(self, fake_manager): + obj1 = FakeObject(fake_manager, {"id": "foo"}) + obj2 = FakeObject(fake_manager, {"id": "foo", "other_attr": "bar"}) assert obj1 == obj2 - def test_equality_custom_id(self): + def test_equality_custom_id(self, fake_manager): class OtherFakeObject(FakeObject): _id_attr = "foo" - obj1 = OtherFakeObject(self.manager, {"foo": "bar"}) - obj2 = OtherFakeObject(self.manager, {"foo": "bar", "other_attr": "baz"}) + obj1 = OtherFakeObject(fake_manager, {"foo": "bar"}) + obj2 = OtherFakeObject(fake_manager, {"foo": "bar", "other_attr": "baz"}) assert obj1 == obj2 - def test_inequality(self): - obj1 = FakeObject(self.manager, {"id": "foo"}) - obj2 = FakeObject(self.manager, {"id": "bar"}) + def test_inequality(self, fake_manager): + obj1 = FakeObject(fake_manager, {"id": "foo"}) + obj2 = FakeObject(fake_manager, {"id": "bar"}) assert obj1 != obj2 - def test_inequality_no_id(self): - obj1 = FakeObject(self.manager, {"attr1": "foo"}) - obj2 = FakeObject(self.manager, {"attr1": "bar"}) + def test_inequality_no_id(self, fake_manager): + obj1 = FakeObject(fake_manager, {"attr1": "foo"}) + obj2 = FakeObject(fake_manager, {"attr1": "bar"}) assert obj1 != obj2 |