summaryrefslogtreecommitdiff
path: root/gitlab/tests
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain.pocentek@objectif-libre.com>2016-01-08 22:35:30 +0100
committerGauvain Pocentek <gauvain.pocentek@objectif-libre.com>2016-01-08 22:35:30 +0100
commit689ecae70585e79c281224162a0ba2ab3921242a (patch)
tree61c99944622d40947b9542d59f7d1afdd04aa559 /gitlab/tests
parente48e14948f886a7bb71b22f82d71c2572a09341e (diff)
downloadgitlab-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.py69
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)