summaryrefslogtreecommitdiff
path: root/gitlab/objects.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain.pocentek@objectif-libre.com>2016-01-03 13:21:03 +0100
committerGauvain Pocentek <gauvain.pocentek@objectif-libre.com>2016-01-03 13:21:03 +0100
commit2a93c629ef88ffbe2564d154fa32fc723a4b0ea9 (patch)
tree95a30867d89f78bc15896a9e870fd551a89ee6cd /gitlab/objects.py
parentfdf295f99f4e7f68e360280f103a164f447adf15 (diff)
downloadgitlab-2a93c629ef88ffbe2564d154fa32fc723a4b0ea9.tar.gz
add unit tests for BaseManager
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r--gitlab/objects.py17
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)