diff options
author | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-03 13:21:03 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-03 13:21:03 +0100 |
commit | 2a93c629ef88ffbe2564d154fa32fc723a4b0ea9 (patch) | |
tree | 95a30867d89f78bc15896a9e870fd551a89ee6cd /gitlab/objects.py | |
parent | fdf295f99f4e7f68e360280f103a164f447adf15 (diff) | |
download | gitlab-2a93c629ef88ffbe2564d154fa32fc723a4b0ea9.tar.gz |
add unit tests for BaseManager
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r-- | gitlab/objects.py | 17 |
1 files changed, 8 insertions, 9 deletions
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) |