From 1e106c798e44d4bce108887ba6b48e8636a15044 Mon Sep 17 00:00:00 2001 From: Jayesh Velayudhan <jayesh@softwareheritage.org> Date: Thu, 4 Nov 2021 16:31:18 +0100 Subject: [PATCH] Missing tests for origin legacy routes Origin legacy routes corresponds to two URLs. Tests for the second(missing) set. --- swh/web/browse/views/origin.py | 2 +- swh/web/tests/browse/views/test_origin.py | 24 +++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/swh/web/browse/views/origin.py b/swh/web/browse/views/origin.py index 16eec2f7d..757846cb4 100644 --- a/swh/web/browse/views/origin.py +++ b/swh/web/browse/views/origin.py @@ -23,7 +23,7 @@ def redirect_to_new_route(request, new_route): # Send all the url_args and the request_args as query params # eg /origin/<url:url-val>/log?path=test # will be send as /log?url=<url-val>&path=test - args = {**request_path.kwargs, **{k: v for k, v in request.GET.items()}} + args = {**request_path.kwargs, **request.GET.dict()} return redirect(reverse(new_route, query_params=args), permanent=True,) diff --git a/swh/web/tests/browse/views/test_origin.py b/swh/web/tests/browse/views/test_origin.py index 125c56ec2..c88bc8566 100644 --- a/swh/web/tests/browse/views/test_origin.py +++ b/swh/web/tests/browse/views/test_origin.py @@ -827,15 +827,23 @@ def test_origin_view_redirects(client, browse_context, new_origin): @given(new_origin()) @pytest.mark.parametrize("browse_context", ["log", "branches", "releases"]) def test_origin_view_legacy_redirects(client, browse_context, new_origin): - params = {"origin_url": new_origin.url, "timestamp": "2021-01-23T22:24:10Z"} - url = reverse( - f"browse-origin-{browse_context}-legacy", url_args=params, query_params=params - ) + # Each legacy route corresponds to two URL patterns, testing both + url_args = [ + {"origin_url": new_origin.url}, + {"origin_url": new_origin.url, "timestamp": "2021-01-23T22:24:10Z"}, + ] + params = {"extra-param1": "extra-param1", "extra-param2": "extra-param2"} + for each_arg in url_args: + url = reverse( + f"browse-origin-{browse_context}-legacy", + url_args=each_arg, + query_params=params, + ) - resp = check_html_get_response(client, url, status_code=301) - assert resp["location"] == reverse( - f"browse-snapshot-{browse_context}", query_params=params - ) + resp = check_html_get_response(client, url, status_code=301) + assert resp["location"] == reverse( + f"browse-snapshot-{browse_context}", query_params={**each_arg, **params} + ) def _origin_content_view_test_helper( -- GitLab