diff --git a/swh/graphql/tests/functional/test_origin_connection.py b/swh/graphql/tests/functional/test_origin_connection.py index 8006072..d128958 100644 --- a/swh/graphql/tests/functional/test_origin_connection.py +++ b/swh/graphql/tests/functional/test_origin_connection.py @@ -1,69 +1,49 @@ # Copyright (C) 2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information from ..data import get_origins from .utils import get_query_response -def test_get(client, storage): +def get_origins_from_api(client, first: int, **args) -> tuple: + args["first"] = first + params = ",".join([f"{key}: {val}" for (key, val) in args.items()]) query_str = """ { - origins(first: 10) { + origins(%s) { nodes { url } + pageInfo { + hasNextPage + endCursor + } } } - """ - data, _ = get_query_response(client, query_str) + """ % ( + params, + ) + return get_query_response(client, query_str) + + +def test_get(client, storage): + data, _ = get_origins_from_api(client, 10) assert len(data["origins"]["nodes"]) == len(get_origins()) def test_get_filter_by_pattern(client): - query_str = """ - { - origins(first: 10, urlPattern: "somewhere.org/den") { - nodes { - url - } - } - } - """ - data, _ = get_query_response(client, query_str) + data, _ = get_origins_from_api(client, 10, urlPattern='"somewhere.org/den"') assert len(data["origins"]["nodes"]) == 1 def test_get_filter_by_non_existing_pattern(client): - query_str = """ - { - origins(first: 10, urlPattern: "somewhere.org/den/test/") { - nodes { - url - } - } - } - """ - data, _ = get_query_response(client, query_str) + data, _ = get_origins_from_api(client, 10, urlPattern='"somewhere.org/den/test/"') assert len(data["origins"]["nodes"]) == 0 def test_basic_pagination(client): - query_str = f""" - {{ - origins(first: {len(get_origins())}) {{ - nodes {{ - id - }} - pageInfo {{ - hasNextPage - endCursor - }} - }} - }} - """ - - data, _ = get_query_response(client, query_str) + data, _ = get_origins_from_api(client, first=len(get_origins())) assert len(data["origins"]["nodes"]) == len(get_origins()) assert data["origins"]["pageInfo"] == {"hasNextPage": False, "endCursor": None}