diff options
author | Gauvain Pocentek <gauvain@pocentek.net> | 2018-05-19 17:10:08 +0200 |
---|---|---|
committer | Gauvain Pocentek <gauvain@pocentek.net> | 2018-05-19 17:10:08 +0200 |
commit | fe89b949922c028830dd49095432ba627d330186 (patch) | |
tree | aa14611d11c550a790d7976f2b24fabb77e81a67 /gitlab/tests/test_gitlab.py | |
parent | 701169441194bf0441cee13f2ab5784ffad7a207 (diff) | |
download | gitlab-fe89b949922c028830dd49095432ba627d330186.tar.gz |
Drop API v3 support
Drop the code, the tests, and update the documentation.
Diffstat (limited to 'gitlab/tests/test_gitlab.py')
-rw-r--r-- | gitlab/tests/test_gitlab.py | 615 |
1 files changed, 13 insertions, 602 deletions
diff --git a/gitlab/tests/test_gitlab.py b/gitlab/tests/test_gitlab.py index 1a1f3d8..daa2694 100644 --- a/gitlab/tests/test_gitlab.py +++ b/gitlab/tests/test_gitlab.py @@ -28,10 +28,10 @@ from httmock import HTTMock # noqa from httmock import response # noqa from httmock import urlmatch # noqa import requests -import six import gitlab from gitlab import * # noqa +from gitlab.v4.objects import * # noqa class TestSanitize(unittest.TestCase): @@ -49,130 +49,6 @@ class TestSanitize(unittest.TestCase): self.assertEqual(expected, gitlab._sanitize(source)) -class TestGitlabRawMethods(unittest.TestCase): - def setUp(self): - self.gl = Gitlab("http://localhost", private_token="private_token", - email="testuser@test.com", password="testpassword", - ssl_verify=True, api_version=3) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/known_path", - method="get") - def resp_get(self, url, request): - headers = {'content-type': 'application/json'} - content = 'response'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - def test_raw_get_unknown_path(self): - - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/unknown_path", - method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - resp = self.gl._raw_get("/unknown_path") - self.assertEqual(resp.status_code, 404) - - def test_raw_get_without_kwargs(self): - with HTTMock(self.resp_get): - resp = self.gl._raw_get("/known_path") - self.assertEqual(resp.content, b'response') - self.assertEqual(resp.status_code, 200) - - def test_raw_get_with_kwargs(self): - with HTTMock(self.resp_get): - resp = self.gl._raw_get("/known_path", sudo="testing") - self.assertEqual(resp.content, b'response') - self.assertEqual(resp.status_code, 200) - - def test_raw_post(self): - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/known_path", - method="post") - def resp_post(url, request): - headers = {'content-type': 'application/json'} - content = 'response'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_post): - resp = self.gl._raw_post("/known_path") - self.assertEqual(resp.content, b'response') - self.assertEqual(resp.status_code, 200) - - def test_raw_post_unknown_path(self): - - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/unknown_path", - method="post") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - resp = self.gl._raw_post("/unknown_path") - self.assertEqual(resp.status_code, 404) - - def test_raw_put(self): - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/known_path", - method="put") - def resp_put(url, request): - headers = {'content-type': 'application/json'} - content = 'response'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_put): - resp = self.gl._raw_put("/known_path") - self.assertEqual(resp.content, b'response') - self.assertEqual(resp.status_code, 200) - - def test_raw_put_unknown_path(self): - - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/unknown_path", - method="put") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - resp = self.gl._raw_put("/unknown_path") - self.assertEqual(resp.status_code, 404) - - def test_raw_delete(self): - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/known_path", - method="delete") - def resp_delete(url, request): - headers = {'content-type': 'application/json'} - content = 'response'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_delete): - resp = self.gl._raw_delete("/known_path") - self.assertEqual(resp.content, b'response') - self.assertEqual(resp.status_code, 200) - - def test_raw_delete_unknown_path(self): - - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/unknown_path", - method="delete") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - resp = self.gl._raw_delete("/unknown_path") - self.assertEqual(resp.status_code, 404) - - class TestGitlabList(unittest.TestCase): def setUp(self): self.gl = Gitlab("http://localhost", private_token="private_token", @@ -450,441 +326,6 @@ class TestGitlabHttpMethods(unittest.TestCase): '/not_there') -class TestGitlabMethods(unittest.TestCase): - def setUp(self): - self.gl = Gitlab("http://localhost", private_token="private_token", - email="testuser@test.com", password="testpassword", - ssl_verify=True, api_version=3) - - def test_list(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/projects/1/repository/branches", method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = ('[{"branch_name": "testbranch", ' - '"project_id": 1, "ref": "a"}]').encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_cont): - data = self.gl.list(ProjectBranch, project_id=1, page=1, - per_page=20) - self.assertEqual(len(data), 1) - data = data[0] - self.assertEqual(data.branch_name, "testbranch") - self.assertEqual(data.project_id, 1) - self.assertEqual(data.ref, "a") - - def test_list_next_link(self): - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get") - def resp_one(url, request): - """First request: - - http://localhost/api/v3/projects/1/repository/branches?per_page=1 - """ - headers = { - 'content-type': 'application/json', - 'link': '<http://localhost/api/v3/projects/1/repository/branc' - 'hes?page=2&per_page=0>; rel="next", <http://localhost/api/v3' - '/projects/1/repository/branches?page=2&per_page=0>; rel="las' - 't", <http://localhost/api/v3/projects/1/repository/branches?' - 'page=1&per_page=0>; rel="first"' - } - content = ('[{"branch_name": "otherbranch", ' - '"project_id": 1, "ref": "b"}]').encode("utf-8") - resp = response(200, content, headers, None, 5, request) - return resp - - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get", - query=r'.*page=2.*') - def resp_two(url, request): - headers = { - 'content-type': 'application/json', - 'link': '<http://localhost/api/v3/projects/1/repository/branc' - 'hes?page=1&per_page=0>; rel="prev", <http://localhost/api/v3' - '/projects/1/repository/branches?page=2&per_page=0>; rel="las' - 't", <http://localhost/api/v3/projects/1/repository/branches?' - 'page=1&per_page=0>; rel="first"' - } - content = ('[{"branch_name": "testbranch", ' - '"project_id": 1, "ref": "a"}]').encode("utf-8") - resp = response(200, content, headers, None, 5, request) - return resp - - with HTTMock(resp_two, resp_one): - data = self.gl.list(ProjectBranch, project_id=1, per_page=1, - all=True) - self.assertEqual(data[1].branch_name, "testbranch") - self.assertEqual(data[1].project_id, 1) - self.assertEqual(data[1].ref, "a") - self.assertEqual(data[0].branch_name, "otherbranch") - self.assertEqual(data[0].project_id, 1) - self.assertEqual(data[0].ref, "b") - self.assertEqual(len(data), 2) - - def test_list_recursion_limit_caught(self): - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get") - def resp_one(url, request): - """First request: - - http://localhost/api/v3/projects/1/repository/branches?per_page=1 - """ - headers = { - 'content-type': 'application/json', - 'link': '<http://localhost/api/v3/projects/1/repository/branc' - 'hes?page=2&per_page=0>; rel="next", <http://localhost/api/v3' - '/projects/1/repository/branches?page=2&per_page=0>; rel="las' - 't", <http://localhost/api/v3/projects/1/repository/branches?' - 'page=1&per_page=0>; rel="first"' - } - content = ('[{"branch_name": "otherbranch", ' - '"project_id": 1, "ref": "b"}]').encode("utf-8") - resp = response(200, content, headers, None, 5, request) - return resp - - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get", - query=r'.*page=2.*') - def resp_two(url, request): - # Mock a runtime error - raise RuntimeError("maximum recursion depth exceeded") - - with HTTMock(resp_two, resp_one): - data = self.gl.list(ProjectBranch, project_id=1, per_page=1, - safe_all=True) - self.assertEqual(data[0].branch_name, "otherbranch") - self.assertEqual(data[0].project_id, 1) - self.assertEqual(data[0].ref, "b") - self.assertEqual(len(data), 1) - - def test_list_recursion_limit_not_caught(self): - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get") - def resp_one(url, request): - """First request: - - http://localhost/api/v3/projects/1/repository/branches?per_page=1 - """ - headers = { - 'content-type': 'application/json', - 'link': '<http://localhost/api/v3/projects/1/repository/branc' - 'hes?page=2&per_page=0>; rel="next", <http://localhost/api/v3' - '/projects/1/repository/branches?page=2&per_page=0>; rel="las' - 't", <http://localhost/api/v3/projects/1/repository/branches?' - 'page=1&per_page=0>; rel="first"' - } - content = ('[{"branch_name": "otherbranch", ' - '"project_id": 1, "ref": "b"}]').encode("utf-8") - resp = response(200, content, headers, None, 5, request) - return resp - - @urlmatch(scheme="http", netloc="localhost", - path='/api/v3/projects/1/repository/branches', method="get", - query=r'.*page=2.*') - def resp_two(url, request): - # Mock a runtime error - raise RuntimeError("maximum recursion depth exceeded") - - with HTTMock(resp_two, resp_one): - with six.assertRaisesRegex(self, GitlabError, - "(maximum recursion depth exceeded)"): - self.gl.list(ProjectBranch, project_id=1, per_page=1, all=True) - - def test_list_401(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/projects/1/repository/branches", method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message":"message"}'.encode("utf-8") - return response(401, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, self.gl.list, - ProjectBranch, project_id=1) - - def test_list_unknown_error(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/projects/1/repository/branches", method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message":"message"}'.encode("utf-8") - return response(405, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabListError, self.gl.list, - ProjectBranch, project_id=1) - - def test_list_kw_missing(self): - self.assertRaises(GitlabListError, self.gl.list, ProjectBranch) - - def test_list_no_connection(self): - self.gl._url = 'http://localhost:66000/api/v3' - self.assertRaises(GitlabConnectionError, self.gl.list, ProjectBranch, - project_id=1) - - def test_get(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/projects/1", method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"name": "testproject"}'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_cont): - data = self.gl.get(Project, id=1) - expected = {"name": "testproject"} - self.assertEqual(expected, data) - - def test_get_unknown_path(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabGetError, self.gl.get, Group, 1) - - def test_get_missing_kw(self): - self.assertRaises(GitlabGetError, self.gl.get, ProjectBranch) - - def test_get_401(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(401, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, self.gl.get, - Project, 1) - - def test_get_404(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabGetError, self.gl.get, - Project, 1) - - def test_get_unknown_error(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="get") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(405, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabGetError, self.gl.get, - Project, 1) - - def test_delete_from_object(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="delete") - def resp_delete_group(url, request): - headers = {'content-type': 'application/json'} - content = ''.encode("utf-8") - return response(200, content, headers, None, 5, request) - - obj = Group(self.gl, data={"name": "testname", "id": 1}) - with HTTMock(resp_delete_group): - data = self.gl.delete(obj) - self.assertIs(data, True) - - def test_delete_from_invalid_class(self): - class InvalidClass(object): - pass - - self.assertRaises(GitlabError, self.gl.delete, InvalidClass, 1) - - def test_delete_from_class(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="delete") - def resp_delete_group(url, request): - headers = {'content-type': 'application/json'} - content = ''.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_delete_group): - data = self.gl.delete(Group, 1) - self.assertIs(data, True) - - def test_delete_unknown_path(self): - obj = Project(self.gl, data={"name": "testname", "id": 1}) - obj._from_api = True - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="delete") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabDeleteError, self.gl.delete, obj) - - def test_delete_401(self): - obj = Project(self.gl, data={"name": "testname", "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="delete") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(401, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, self.gl.delete, obj) - - def test_delete_unknown_error(self): - obj = Project(self.gl, data={"name": "testname", "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="delete") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(405, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabDeleteError, self.gl.delete, obj) - - def test_create(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects", - method="post") - def resp_create_project(url, request): - headers = {'content-type': 'application/json'} - content = '{"name": "testname", "id": 1}'.encode("utf-8") - return response(201, content, headers, None, 5, request) - - obj = Project(self.gl, data={"name": "testname"}) - - with HTTMock(resp_create_project): - data = self.gl.create(obj) - expected = {u"name": u"testname", u"id": 1} - self.assertEqual(expected, data) - - def test_create_kw_missing(self): - obj = Group(self.gl, data={"name": "testgroup"}) - self.assertRaises(GitlabCreateError, self.gl.create, obj) - - def test_create_unknown_path(self): - obj = Project(self.gl, data={"name": "name"}) - obj.id = 1 - obj._from_api = True - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", - method="delete") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabDeleteError, self.gl.delete, obj) - - def test_create_401(self): - obj = Group(self.gl, data={"name": "testgroup", "path": "testpath"}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups", - method="post") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(401, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, self.gl.create, obj) - - def test_create_unknown_error(self): - obj = Group(self.gl, data={"name": "testgroup", "path": "testpath"}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups", - method="post") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(405, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabCreateError, self.gl.create, obj) - - def test_update(self): - obj = User(self.gl, data={"email": "testuser@testmail.com", - "password": "testpassword", - "name": u"testuser", - "username": "testusername", - "can_create_group": True, - "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/users/1", - method="put") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"first": "return1"}'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_cont): - data = self.gl.update(obj) - expected = {"first": "return1"} - self.assertEqual(expected, data) - - def test_update_kw_missing(self): - obj = Hook(self.gl, data={"name": "testgroup"}) - self.assertRaises(GitlabUpdateError, self.gl.update, obj) - - def test_update_401(self): - obj = Group(self.gl, data={"name": "testgroup", "path": "testpath", - "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="put") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(401, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, self.gl.update, obj) - - def test_update_unknown_error(self): - obj = Group(self.gl, data={"name": "testgroup", "path": "testpath", - "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="put") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(405, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabUpdateError, self.gl.update, obj) - - def test_update_unknown_path(self): - obj = Group(self.gl, data={"name": "testgroup", "path": "testpath", - "id": 1}) - - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", - method="put") - def resp_cont(url, request): - headers = {'content-type': 'application/json'} - content = '{"message": "message"}'.encode("utf-8") - return response(404, content, headers, None, 5, request) - - with HTTMock(resp_cont): - self.assertRaises(GitlabUpdateError, self.gl.update, obj) - - class TestGitlabAuth(unittest.TestCase): def test_invalid_auth_args(self): self.assertRaises(ValueError, @@ -938,7 +379,7 @@ class TestGitlab(unittest.TestCase): def setUp(self): self.gl = Gitlab("http://localhost", private_token="private_token", email="testuser@test.com", password="testpassword", - ssl_verify=True, api_version=3) + ssl_verify=True, api_version=4) def test_pickability(self): original_gl_objects = self.gl._objects @@ -952,7 +393,7 @@ class TestGitlab(unittest.TestCase): self.gl.email = None self.gl.password = None - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/session", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/session", method="post") def resp_cont(url, request): headers = {'content-type': 'application/json'} @@ -960,11 +401,10 @@ class TestGitlab(unittest.TestCase): return response(404, content, headers, None, 5, request) with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, - self.gl._credentials_auth) + self.assertRaises(GitlabHttpError, self.gl._credentials_auth) def test_credentials_auth_notok(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/session", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/session", method="post") def resp_cont(url, request): headers = {'content-type': 'application/json'} @@ -972,8 +412,7 @@ class TestGitlab(unittest.TestCase): return response(404, content, headers, None, 5, request) with HTTMock(resp_cont): - self.assertRaises(GitlabAuthenticationError, - self.gl._credentials_auth) + self.assertRaises(GitlabHttpError, self.gl._credentials_auth) def test_auth_with_credentials(self): self.gl.private_token = None @@ -989,7 +428,7 @@ class TestGitlab(unittest.TestCase): id_ = 1 expected = {"PRIVATE-TOKEN": token} - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/session", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/session", method="post") def resp_cont(url, request): headers = {'content-type': 'application/json'} @@ -1009,7 +448,7 @@ class TestGitlab(unittest.TestCase): name = "username" id_ = 1 - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/user", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/user", method="get") def resp_cont(url, request): headers = {'content-type': 'application/json'} @@ -1024,7 +463,7 @@ class TestGitlab(unittest.TestCase): self.assertEqual(type(self.gl.user), CurrentUser) def test_hooks(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/hooks/1", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/hooks/1", method="get") def resp_get_hook(url, request): headers = {'content-type': 'application/json'} @@ -1038,7 +477,7 @@ class TestGitlab(unittest.TestCase): self.assertEqual(data.id, 1) def test_projects(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/projects/1", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/projects/1", method="get") def resp_get_project(url, request): headers = {'content-type': 'application/json'} @@ -1051,20 +490,8 @@ class TestGitlab(unittest.TestCase): self.assertEqual(data.name, "name") self.assertEqual(data.id, 1) - def test_userprojects(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/projects/user/2", method="get") - def resp_get_userproject(url, request): - headers = {'content-type': 'application/json'} - content = '{"name": "name", "id": 1, "user_id": 2}'.encode("utf-8") - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_get_userproject): - self.assertRaises(NotImplementedError, self.gl.user_projects.get, - 1, user_id=2) - def test_groups(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/groups/1", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/groups/1", method="get") def resp_get_group(url, request): headers = {'content-type': 'application/json'} @@ -1080,7 +507,7 @@ class TestGitlab(unittest.TestCase): self.assertEqual(data.id, 1) def test_issues(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/issues", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/issues", method="get") def resp_get_issue(url, request): headers = {'content-type': 'application/json'} @@ -1095,7 +522,7 @@ class TestGitlab(unittest.TestCase): self.assertEqual(data.name, 'other_name') def test_users(self): - @urlmatch(scheme="http", netloc="localhost", path="/api/v3/users/1", + @urlmatch(scheme="http", netloc="localhost", path="/api/v4/users/1", method="get") def resp_get_user(url, request): headers = {'content-type': 'application/json'} @@ -1109,19 +536,3 @@ class TestGitlab(unittest.TestCase): self.assertEqual(type(user), User) self.assertEqual(user.name, "name") self.assertEqual(user.id, 1) - - def test_teams(self): - @urlmatch(scheme="http", netloc="localhost", - path="/api/v3/user_teams/1", method="get") - def resp_get_group(url, request): - headers = {'content-type': 'application/json'} - content = '{"name": "name", "id": 1, "path": "path"}' - content = content.encode('utf-8') - return response(200, content, headers, None, 5, request) - - with HTTMock(resp_get_group): - data = self.gl.teams.get(1) - self.assertEqual(type(data), Team) - self.assertEqual(data.name, "name") - self.assertEqual(data.path, "path") - self.assertEqual(data.id, 1) |