diff options
author | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-08 22:35:30 +0100 |
---|---|---|
committer | Gauvain Pocentek <gauvain.pocentek@objectif-libre.com> | 2016-01-08 22:35:30 +0100 |
commit | 689ecae70585e79c281224162a0ba2ab3921242a (patch) | |
tree | 61c99944622d40947b9542d59f7d1afdd04aa559 /gitlab/tests | |
parent | e48e14948f886a7bb71b22f82d71c2572a09341e (diff) | |
download | gitlab-689ecae70585e79c281224162a0ba2ab3921242a.tar.gz |
Implement ProjectManager search/list methods
The existing Gitlab methods are deprecated.
Unit tests have been added.
Diffstat (limited to 'gitlab/tests')
-rw-r--r-- | gitlab/tests/test_manager.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/gitlab/tests/test_manager.py b/gitlab/tests/test_manager.py index 837e013..bba278f 100644 --- a/gitlab/tests/test_manager.py +++ b/gitlab/tests/test_manager.py @@ -145,3 +145,72 @@ class TestGitlabManager(unittest.TestCase): self.assertIsInstance(fake_obj, FakeObject) self.assertEqual(fake_obj.id, 1) self.assertEqual(fake_obj.name, "fake_name") + + def test_project_manager_owned(self): + mgr = ProjectManager(self.gitlab) + + @urlmatch(scheme="http", netloc="localhost", + path="/api/v3/projects/owned", method="get") + def resp_get_all(url, request): + headers = {'content-type': 'application/json'} + content = ('[{"name": "name1", "id": 1}, ' + '{"name": "name2", "id": 2}]') + content = content.encode("utf-8") + return response(200, content, headers, None, 5, request) + + with HTTMock(resp_get_all): + data = mgr.owned() + self.assertEqual(type(data), list) + self.assertEqual(2, len(data)) + self.assertEqual(type(data[0]), Project) + self.assertEqual(type(data[1]), Project) + self.assertEqual(data[0].name, "name1") + self.assertEqual(data[1].name, "name2") + self.assertEqual(data[0].id, 1) + self.assertEqual(data[1].id, 2) + + def test_project_manager_all(self): + mgr = ProjectManager(self.gitlab) + + @urlmatch(scheme="http", netloc="localhost", + path="/api/v3/projects/all", method="get") + def resp_get_all(url, request): + headers = {'content-type': 'application/json'} + content = ('[{"name": "name1", "id": 1}, ' + '{"name": "name2", "id": 2}]') + content = content.encode("utf-8") + return response(200, content, headers, None, 5, request) + + with HTTMock(resp_get_all): + data = mgr.all() + self.assertEqual(type(data), list) + self.assertEqual(2, len(data)) + self.assertEqual(type(data[0]), Project) + self.assertEqual(type(data[1]), Project) + self.assertEqual(data[0].name, "name1") + self.assertEqual(data[1].name, "name2") + self.assertEqual(data[0].id, 1) + self.assertEqual(data[1].id, 2) + + def test_project_manager_search(self): + mgr = ProjectManager(self.gitlab) + + @urlmatch(scheme="http", netloc="localhost", + path="/api/v3/projects/search/foo", method="get") + def resp_get_all(url, request): + headers = {'content-type': 'application/json'} + content = ('[{"name": "foo1", "id": 1}, ' + '{"name": "foo2", "id": 2}]') + content = content.encode("utf-8") + return response(200, content, headers, None, 5, request) + + with HTTMock(resp_get_all): + data = mgr.search('foo') + self.assertEqual(type(data), list) + self.assertEqual(2, len(data)) + self.assertEqual(type(data[0]), Project) + self.assertEqual(type(data[1]), Project) + self.assertEqual(data[0].name, "foo1") + self.assertEqual(data[1].name, "foo2") + self.assertEqual(data[0].id, 1) + self.assertEqual(data[1].id, 2) |