summaryrefslogtreecommitdiff
path: root/gitlab/tests/test_gitlab.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2018-06-17 16:21:55 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2018-06-17 16:23:31 +0200
commit1a04634ae37888c3cd80c4676904664b0c8dbeab (patch)
treecadcc15bbe389c2b9d5af140d9c5213c6f4ffbcb /gitlab/tests/test_gitlab.py
parentba90e305bc2d54eb42aa0f8251a9e45b0d1736e4 (diff)
downloadgitlab-1a04634ae37888c3cd80c4676904664b0c8dbeab.tar.gz
Revert "make as_list work for all queries"
This reverts commit 8e787612fa77dc945a4c1327e9faa6eee10c48f2. This change broke the basic generator usage (Fixes #534)
Diffstat (limited to 'gitlab/tests/test_gitlab.py')
-rw-r--r--gitlab/tests/test_gitlab.py67
1 files changed, 7 insertions, 60 deletions
diff --git a/gitlab/tests/test_gitlab.py b/gitlab/tests/test_gitlab.py
index 3220988..5174bd2 100644
--- a/gitlab/tests/test_gitlab.py
+++ b/gitlab/tests/test_gitlab.py
@@ -26,7 +26,7 @@ except ImportError:
from httmock import HTTMock # noqa
from httmock import response # noqa
-from httmock import remember_called, urlmatch # noqa
+from httmock import urlmatch # noqa
import requests
import gitlab
@@ -57,7 +57,6 @@ class TestGitlabList(unittest.TestCase):
def test_build_list(self):
@urlmatch(scheme='http', netloc="localhost", path="/api/v4/tests",
method="get")
- @remember_called
def resp_1(url, request):
headers = {'content-type': 'application/json',
'X-Page': 1,
@@ -73,7 +72,6 @@ class TestGitlabList(unittest.TestCase):
@urlmatch(scheme='http', netloc="localhost", path="/api/v4/tests",
method='get', query=r'.*page=2')
- @remember_called
def resp_2(url, request):
headers = {'content-type': 'application/json',
'X-Page': 2,
@@ -84,7 +82,7 @@ class TestGitlabList(unittest.TestCase):
content = '[{"c": "d"}]'
return response(200, content, headers, None, 5, request)
- with HTTMock(resp_2, resp_1):
+ with HTTMock(resp_1):
obj = self.gl.http_list('/tests', as_list=False)
self.assertEqual(len(obj), 2)
self.assertEqual(obj._next_url,
@@ -96,62 +94,11 @@ class TestGitlabList(unittest.TestCase):
self.assertEqual(obj.total_pages, 2)
self.assertEqual(obj.total, 2)
- l = list(obj)
- self.assertListEqual(l, [{"a": "b"}])
- self.assertEqual(resp_1.call['count'], 1)
- self.assertFalse(resp_2.call['called'])
-
- def test_build_list_all(self):
- @urlmatch(scheme='http', netloc="localhost", path="/api/v4/tests",
- method="get")
- @remember_called
- def resp_1(url, request):
- headers = {'content-type': 'application/json',
- 'X-Page': 1,
- 'X-Next-Page': 2,
- 'X-Per-Page': 1,
- 'X-Total-Pages': 2,
- 'X-Total': 2,
- 'Link': (
- '<http://localhost/api/v4/tests?per_page=1&page=2>;'
- ' rel="next"')}
- content = '[{"a": "b"}]'
- return response(200, content, headers, None, 5, request)
-
- @urlmatch(scheme='http', netloc="localhost", path="/api/v4/tests",
- method='get', query=r'.*page=2')
- @remember_called
- def resp_2(url, request):
- headers = {'content-type': 'application/json',
- 'X-Page': 2,
- 'X-Next-Page': 2,
- 'X-Per-Page': 1,
- 'X-Total-Pages': 2,
- 'X-Total': 2}
- content = '[{"c": "d"}]'
- return response(200, content, headers, None, 5, request)
-
- with HTTMock(resp_2, resp_1):
- obj = self.gl.http_list('/tests', as_list=False, all=True)
- self.assertEqual(len(obj), 2)
- self.assertEqual(obj._next_url,
- 'http://localhost/api/v4/tests?per_page=1&page=2')
- self.assertEqual(obj.current_page, 1)
- self.assertEqual(obj.prev_page, None)
- self.assertEqual(obj.next_page, 2)
- self.assertEqual(obj.per_page, 1)
- self.assertEqual(obj.total_pages, 2)
- self.assertEqual(obj.total, 2)
- self.assertEqual(resp_1.call['count'], 1)
- self.assertFalse(resp_2.call['called'])
- self.assertDictEqual(next(obj), {"a": "b"})
- self.assertEqual(resp_1.call['count'], 1)
- self.assertFalse(resp_2.call['called'])
- self.assertDictEqual(next(obj), {"c": "d"})
- self.assertEqual(resp_1.call['count'], 1)
- self.assertEqual(resp_2.call['count'], 1)
- with self.assertRaises(StopIteration):
- next(obj)
+ with HTTMock(resp_2):
+ l = list(obj)
+ self.assertEqual(len(l), 2)
+ self.assertEqual(l[0]['a'], 'b')
+ self.assertEqual(l[1]['c'], 'd')
class TestGitlabHttpMethods(unittest.TestCase):