api_client = <rest_framework.test.APIClient object at 0x7f91c0e2a0f0>
archive_data = <swh.web.tests.conftest._ArchiveData object at 0x7f91c0e3cf60>
tests_data = {'contents': [{'blake2s256': '819b04890457029a003db7c4a66c0184ddf0719dfa1ebb6e8bc89761b5bc4a29', 'data': '// !$*UTF8*$...c569188ca45c771d82', '4aa52c283e519cc6613e9e6e38d0600e00fde707', 'a1ffbd272b2f22a7e9648cfccb13266a99fad273', ...], ...}
mocker = <pytest_mock.plugin.MockerFixture object at 0x7f91c0e3ce80>
backend = 'swh-storage'
@pytest.mark.parametrize("backend", ["swh-search", "swh-storage"])
def test_api_origin_search_limit(api_client, archive_data, tests_data, mocker, backend):
if backend == "swh-search":
tests_data["search"].origin_update(
[{"url": "http://foobar/{}".format(i)} for i in range(2000)]
)
else:
# equivalent to not configuring search in the config
mocker.patch("swh.web.common.archive.search", None)
archive_data.origin_add(
[Origin(url="http://foobar/{}".format(i)) for i in range(2000)]
)
url = reverse(
"api-1-origin-search",
url_args={"url_pattern": "foobar"},
query_params={"limit": 1050},
)
> rv = check_api_get_responses(api_client, url, status_code=200)
.tox/py3/lib/python3.7/site-packages/swh/web/tests/api/views/test_origin.py:619:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox/py3/lib/python3.7/site-packages/swh/web/tests/utils.py:121: in check_api_get_responses
api_client, url, status_code, content_type="application/json"
.tox/py3/lib/python3.7/site-packages/swh/web/tests/utils.py:68: in check_http_get_response
content_type=content_type,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
response = <HttpResponse status_code=500, "text/html; charset=utf-8">
status_code = 200, content_type = 'application/json'
def _assert_http_response(
response: HttpResponse, status_code: int, content_type: str
) -> HttpResponse:
if isinstance(response, Response):
drf_response = cast(Response, response)
error_context = (
drf_response.data.pop("traceback")
if isinstance(drf_response.data, dict) and "traceback" in drf_response.data
else drf_response.data
)
elif isinstance(response, StreamingHttpResponse):
error_context = getattr(response, "traceback", response.streaming_content)
else:
error_context = getattr(response, "traceback", response.content)
> assert response.status_code == status_code, error_context
E AssertionError: Traceback (most recent call last):
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/django/core/handlers/base.py", line 143, in _get_response
E response = response.render()
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/django/template/response.py", line 106, in render
E self.content = self.rendered_content
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/rest_framework/response.py", line 70, in rendered_content
E ret = renderer.render(self.data, accepted_media_type, context)
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/rest_framework/renderers.py", line 103, in render
E allow_nan=not self.strict, separators=separators
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/rest_framework/utils/json.py", line 25, in dumps
E return json.dumps(*args, **kwargs)
E File "/usr/lib/python3.7/json/__init__.py", line 238, in dumps
E **kw).encode(obj)
E File "/usr/lib/python3.7/json/encoder.py", line 199, in encode
E chunks = self.iterencode(o, _one_shot=True)
E File "/usr/lib/python3.7/json/encoder.py", line 257, in iterencode
E return _iterencode(o, 0)
E File "/var/lib/jenkins/workspace/DWAPPS/tests-on-diff/.tox/py3/lib/python3.7/site-packages/rest_framework/utils/encoders.py", line 50, in default
E return obj.decode()
E UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 4: invalid continuation byte
E
E assert 500 == 200
E +500
E -200
.tox/py3/lib/python3.7/site-packages/swh/web/tests/utils.py:34: AssertionError
TEST RESULT
TEST RESULT
- Run At
- Sep 28 2021, 7:48 PM