Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/functional/test_visit_node.py
# Copyright (C) 2022 The Software Heritage developers | # Copyright (C) 2022 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import pytest | import pytest | ||||
from ..data import get_origins | from ..data import get_origins | ||||
from .utils import assert_missing_object, get_query_response | from .utils import assert_missing_object, get_query_response | ||||
@pytest.mark.parametrize("origin", get_origins()) | @pytest.mark.parametrize("origin", get_origins()) | ||||
def test_get_visit(client, storage, origin): | def test_get_visit(client, storage, origin): | ||||
query_str = """ | query_str = """ | ||||
{{ | { | ||||
visit(originUrl: "{origin_url}", visitId: {visit_id}) {{ | visit(originUrl: "%s", visitId: %s) { | ||||
visitId | visitId | ||||
date | date | ||||
type | type | ||||
latestStatus {{ | latestStatus { | ||||
status | status | ||||
date | date | ||||
type | type | ||||
snapshot {{ | snapshot { | ||||
swhid | swhid | ||||
}} | } | ||||
}} | } | ||||
status {{ | status { | ||||
nodes {{ | nodes { | ||||
status | status | ||||
}} | } | ||||
}} | } | ||||
}} | } | ||||
}} | } | ||||
""" | """ | ||||
visits_and_statuses = storage.origin_visit_get_with_statuses(origin.url).results | visits_and_statuses = storage.origin_visit_get_with_statuses(origin.url).results | ||||
for vws in visits_and_statuses: | for vws in visits_and_statuses: | ||||
visit = vws.visit | visit = vws.visit | ||||
statuses = vws.statuses | statuses = vws.statuses | ||||
data, _ = get_query_response( | data, _ = get_query_response(client, query_str % (origin.url, visit.visit)) | ||||
client, query_str.format(origin_url=origin.url, visit_id=visit.visit) | |||||
) | |||||
assert data["visit"] == { | assert data["visit"] == { | ||||
"visitId": visit.visit, | "visitId": visit.visit, | ||||
"type": visit.type, | "type": visit.type, | ||||
"date": visit.date.isoformat(), | "date": visit.date.isoformat(), | ||||
"latestStatus": { | "latestStatus": { | ||||
"date": statuses[-1].date.isoformat(), | "date": statuses[-1].date.isoformat(), | ||||
"type": statuses[-1].type, | "type": statuses[-1].type, | ||||
"status": statuses[-1].status, | "status": statuses[-1].status, | ||||
Show All 17 Lines |