| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent c764bee commit 501f9a1
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -18,6 +18,7 @@ | |||
| 18 | 18 | ||
| 19 | 19 | import pickle | |
| 20 | 20 | import warnings | |
| 21 | + from copy import deepcopy | ||
| 21 | 22 | ||
| 22 | 23 | import pytest | |
| 23 | 24 | import responses | |
@@ -104,6 +105,35 @@ def test_gitlab_build_list(gl, resp_page_1, resp_page_2): | |||
| 104 | 105 | assert test_list[1]["c"] == "d" | |
| 105 | 106 | ||
| 106 | 107 | ||
| 108 | + def _strip_pagination_headers(response): | ||
| 109 | + """ | ||
| 110 | + https://docs.gitlab.com/ee/user/gitlab_com/index.html#pagination-response-headers | ||
| 111 | + """ | ||
| 112 | + stripped = deepcopy(response) | ||
| 113 | + | ||
| 114 | + del stripped["headers"]["X-Total-Pages"] | ||
| 115 | + del stripped["headers"]["X-Total"] | ||
| 116 | + | ||
| 117 | + return stripped | ||
| 118 | + | ||
| 119 | + | ||
| 120 | + @pytest.mark.xfail(reason="See #1686") | ||
| 121 | + @responses.activate | ||
| 122 | + def test_gitlab_build_list_missing_headers(gl, resp_page_1, resp_page_2): | ||
| 123 | + stripped_page_1 = _strip_pagination_headers(resp_page_1) | ||
| 124 | + stripped_page_2 = _strip_pagination_headers(resp_page_2) | ||
| 125 | + | ||
| 126 | + responses.add(**stripped_page_1) | ||
| 127 | + obj = gl.http_list("/tests", as_list=False) | ||
| 128 | + assert len(obj) == 0 # Lazy generator has no knowledge of total items | ||
| 129 | + assert obj.total_pages is None | ||
| 130 | + assert obj.total is None | ||
| 131 | + | ||
| 132 | + responses.add(**stripped_page_2) | ||
| 133 | + test_list = list(obj) | ||
| 134 | + assert len(test_list) == 2 # List has total items after making the API calls | ||
| 135 | + | ||
| 136 | + | ||
| 107 | 137 | @responses.activate | |
| 108 | 138 | def test_gitlab_all_omitted_when_as_list(gl, resp_page_1, resp_page_2): | |
| 109 | 139 | responses.add(**resp_page_1) | |
| Back | FazBrowse Home | New Git URL |
0 commit comments