diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2017-05-29 07:01:59 +0200 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2017-06-02 15:42:34 +0200 |
commit | f754f21dd9138142b923cf3b919187a4638b674a (patch) | |
tree | bf37f6b09420f5e2af93ef29d45175cb8ecc52b1 | |
parent | f418767ec94c430aabd132d189d1c5e9e2370e68 (diff) | |
download | gitlab-f754f21dd9138142b923cf3b919187a4638b674a.tar.gz |
make the tests pass
-rw-r--r-- | gitlab/__init__.py | 9 | ||||
-rw-r--r-- | gitlab/mixins.py | 4 | ||||
-rw-r--r-- | gitlab/v4/objects.py | 36 |
3 files changed, 26 insertions, 23 deletions
diff --git a/gitlab/__init__.py b/gitlab/__init__.py index e9a7e9a..d42dbd3 100644 --- a/gitlab/__init__.py +++ b/gitlab/__init__.py @@ -197,10 +197,10 @@ class Gitlab(object): r = self._raw_post('/session', data, content_type='application/json') raise_error_from_response(r, GitlabAuthenticationError, 201) - self.user = objects.CurrentUser(self, r.json()) + self.user = self._objects.CurrentUser(self, r.json()) else: manager = self._objects.CurrentUserManager() - self.user = credentials_auth(self.email, self.password) + self.user = manager.get(self.email, self.password) self._set_token(self.user.private_token) @@ -211,7 +211,10 @@ class Gitlab(object): self._token_auth() def _token_auth(self): - self.user = self._objects.CurrentUserManager(self).get() + if self.api_version == '3': + self.user = self._objects.CurrentUser(self) + else: + self.user = self._objects.CurrentUserManager(self).get() def version(self): """Returns the version and revision of the gitlab server. diff --git a/gitlab/mixins.py b/gitlab/mixins.py index 0a16a92..ed3b204 100644 --- a/gitlab/mixins.py +++ b/gitlab/mixins.py @@ -255,13 +255,13 @@ class AccessRequestMixin(object): path = '%s/%s/approve' % (self.manager.path, self.id) data = {'access_level': access_level} - server_data = self.manager.gitlab.http_put(url, post_data=data, + server_data = self.manager.gitlab.http_put(path, post_data=data, **kwargs) self._update_attrs(server_data) class SubscribableMixin(object): - def subscribe(self, **kwarg): + def subscribe(self, **kwargs): """Subscribe to the object notifications. raises: diff --git a/gitlab/v4/objects.py b/gitlab/v4/objects.py index b547d81..8eb977b 100644 --- a/gitlab/v4/objects.py +++ b/gitlab/v4/objects.py @@ -23,7 +23,6 @@ import json import six -import gitlab from gitlab.base import * # noqa from gitlab.exceptions import * # noqa from gitlab.mixins import * # noqa @@ -203,6 +202,7 @@ class CurrentUserManager(GetWithoutIdMixin, RESTManager): server_data = self.gitlab.http_post('/session', post_data=data) return CurrentUser(self, server_data) + class ApplicationSettings(SaveMixin, RESTObject): _id_attr = None @@ -300,6 +300,7 @@ class GitlabciymlManager(RetrieveMixin, RESTManager): class GroupIssue(RESTObject): pass + class GroupIssueManager(GetFromListMixin, RESTManager): _path = '/groups/%(group_id)s/issues' _obj_cls = GroupIssue @@ -373,7 +374,7 @@ class License(RESTObject): class LicenseManager(RetrieveMixin, RESTManager): _path = '/templates/licenses' _obj_cls = License - _list_filters =('popular') + _list_filters = ('popular', ) _optional_get_attrs = ('project', 'fullname') @@ -402,7 +403,7 @@ class Snippet(SaveMixin, RESTObject): path = '/snippets/%s/raw' % self.get_id() result = self.manager.gitlab.http_get(path, streamed=streamed, **kwargs) - return utils.response_content(r, streamed, action, chunk_size) + return utils.response_content(result, streamed, action, chunk_size) class SnippetManager(CRUDMixin, RESTManager): @@ -467,7 +468,7 @@ class ProjectBranch(RESTObject): def protect(self, developers_can_push=False, developers_can_merge=False, **kwargs): """Protects the branch. - + Args: developers_can_push (bool): Set to True if developers are allowed to push to the branch @@ -588,7 +589,8 @@ class ProjectCommitStatus(RESTObject): class ProjectCommitStatusManager(RetrieveMixin, CreateMixin, RESTManager): - _path = '/projects/%(project_id)s/repository/commits/%(commit_id)s/statuses' + _path = ('/projects/%(project_id)s/repository/commits/%(commit_id)s' + '/statuses') _obj_cls = ProjectCommitStatus _from_parent_attrs = {'project_id': 'project_id', 'commit_id': 'id'} _create_attrs = (('state', ), @@ -696,7 +698,7 @@ class ProjectEvent(RESTObject): class ProjectEventManager(GetFromListMixin, RESTManager): - _path ='/projects/%(project_id)s/events' + _path = '/projects/%(project_id)s/events' _obj_cls = ProjectEvent _from_parent_attrs = {'project_id': 'id'} @@ -741,7 +743,7 @@ class ProjectHookManager(CRUDMixin, RESTManager): class ProjectIssueNote(SaveMixin, RESTObject): - _constructor_types= {'author': 'User'} + _constructor_types = {'author': 'User'} class ProjectIssueNoteManager(RetrieveMixin, CreateMixin, UpdateMixin, @@ -754,7 +756,7 @@ class ProjectIssueNoteManager(RetrieveMixin, CreateMixin, UpdateMixin, class ProjectIssue(SubscribableMixin, TodoMixin, TimeTrackingMixin, SaveMixin, - RESTObject): + RESTObject): _constructor_types = {'author': 'User', 'assignee': 'User', 'milestone': 'ProjectMilestone'} _short_print_attr = 'title' @@ -769,7 +771,7 @@ class ProjectIssue(SubscribableMixin, TodoMixin, TimeTrackingMixin, SaveMixin, """ path = '%s/%s/move' % (self.manager.path, self.get_id()) data = {'to_project_id': to_project_id} - server_data = self.manager.gitlab.http_post(url, post_data=data, + server_data = self.manager.gitlab.http_post(path, post_data=data, **kwargs) self._update_attrs(server_data) @@ -808,7 +810,7 @@ class ProjectNote(RESTObject): class ProjectNoteManager(RetrieveMixin, RESTManager): - _path ='/projects/%(project_id)s/notes' + _path = '/projects/%(project_id)s/notes' _obj_cls = ProjectNote _from_parent_attrs = {'project_id': 'id'} _create_attrs = (('body', ), tuple()) @@ -844,13 +846,13 @@ class ProjectTag(RESTObject): GitlabCreateError: If the server fails to create the release. GitlabUpdateError: If the server fails to update the release. """ - _path = '%s/%s/release' % (self.manager.path, self.get_id()) + path = '%s/%s/release' % (self.manager.path, self.get_id()) data = {'description': description} if self.release is None: - result = self.manager.gitlab.http_post(url, post_data=data, + result = self.manager.gitlab.http_post(path, post_data=data, **kwargs) else: - result = self.manager.gitlab.http_put(url, post_data=data, + result = self.manager.gitlab.http_put(path, post_data=data, **kwargs) self.release = result.json() @@ -1215,7 +1217,7 @@ class ProjectSnippet(SaveMixin, RESTObject): path = "%s/%s/raw" % (self.manager.path, self.get_id()) result = self.manager.gitlab.http_get(path, streamed=streamed, **kwargs) - return utils.response_content(r, streamed, action, chunk_size) + return utils.response_content(result, streamed, action, chunk_size) class ProjectSnippetManager(CRUDMixin, RESTManager): @@ -1382,7 +1384,6 @@ class ProjectRunnerManager(NoUpdateMixin, RESTManager): _create_attrs = (('runner_id', ), tuple()) - class Project(SaveMixin, RESTObject): _constructor_types = {'owner': 'User', 'namespace': 'Group'} _short_print_attr = 'path' @@ -1459,7 +1460,7 @@ class Project(SaveMixin, RESTObject): GitlabGetError: If the server fails to perform the request. """ path = '/projects/%s/repository/raw_blobs/%s' % (self.get_id(), sha) - result = self.gitlab._raw_get(url, streamed=streamed, **kwargs) + result = self.gitlab._raw_get(path, streamed=streamed, **kwargs) return utils.response_content(result, streamed, action, chunk_size) def repository_compare(self, from_, to, **kwargs): @@ -1598,7 +1599,7 @@ class Project(SaveMixin, RESTObject): GitlabConnectionError: If the server cannot be reached. """ path = '/projects/%s/unarchive' % self.get_id() - server_data = self.manager.gitlab.http_post(url, **kwargs) + server_data = self.manager.gitlab.http_post(path, **kwargs) self._update_attrs(server_data) def share(self, group_id, group_access, expires_at=None, **kwargs): @@ -1649,7 +1650,6 @@ class RunnerManager(RetrieveMixin, UpdateMixin, DeleteMixin, RESTManager): _update_attrs = (tuple(), ('description', 'active', 'tag_list')) _list_filters = ('scope', ) - def all(self, scope=None, **kwargs): """List all the runners. |