summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2017-05-29 07:01:59 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2017-06-02 15:42:34 +0200
commitf754f21dd9138142b923cf3b919187a4638b674a (patch)
treebf37f6b09420f5e2af93ef29d45175cb8ecc52b1
parentf418767ec94c430aabd132d189d1c5e9e2370e68 (diff)
downloadgitlab-f754f21dd9138142b923cf3b919187a4638b674a.tar.gz
make the tests pass
-rw-r--r--gitlab/__init__.py9
-rw-r--r--gitlab/mixins.py4
-rw-r--r--gitlab/v4/objects.py36
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.