From 2a93c629ef88ffbe2564d154fa32fc723a4b0ea9 Mon Sep 17 00:00:00 2001 From: Gauvain Pocentek Date: Sun, 3 Jan 2016 13:21:03 +0100 Subject: add unit tests for BaseManager --- gitlab/objects.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'gitlab/objects.py') diff --git a/gitlab/objects.py b/gitlab/objects.py index b0ba782..26896f2 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -44,29 +44,28 @@ class BaseManager(object): self.args = args self.parent = parent - def get(self, id, **kwargs): + if self.obj_cls is None: + raise AttributeError("obj_cls must be defined") + + def _set_parent_args(self, **kwargs): if self.parent is not None: for attr, parent_attr in self.args: kwargs.setdefault(attr, getattr(self.parent, parent_attr)) + def get(self, id, **kwargs): + self._set_parent_args(**kwargs) if not self.obj_cls.canGet: raise NotImplementedError return self.obj_cls.get(self.gitlab, id, **kwargs) def list(self, **kwargs): - if self.parent is not None: - for attr, parent_attr in self.args: - kwargs.setdefault(attr, getattr(self.parent, parent_attr)) - + self._set_parent_args(**kwargs) if not self.obj_cls.canList: raise NotImplementedError return self.obj_cls.list(self.gitlab, **kwargs) def create(self, data, **kwargs): - if self.parent is not None: - for attr, parent_attr in self.args: - kwargs.setdefault(attr, getattr(self.parent, parent_attr)) - + self._set_parent_args(**kwargs) if not self.obj_cls.canCreate: raise NotImplementedError return self.obj_cls.create(self.gitlab, data, **kwargs) -- cgit v1.2.1