Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/functional/test_revision.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 swh.model.swhids import CoreSWHID | from swh.model.swhids import CoreSWHID | ||||
from . import utils | from . import utils | ||||
from ..data import get_revisions | from ..data import get_revisions, get_revisions_with_parents | ||||
@pytest.mark.parametrize("revision", get_revisions()) | @pytest.mark.parametrize("revision", get_revisions()) | ||||
def test_get_revision(client, revision): | def test_get_revision(client, revision): | ||||
query_str = """ | query_str = """ | ||||
{ | { | ||||
revision(swhid: "%s") { | revision(swhid: "%s") { | ||||
swhid | swhid | ||||
▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | def test_get_revision_as_target(client): | ||||
data, _ = utils.get_query_response(client, query_str % snapshot_swhid) | data, _ = utils.get_query_response(client, query_str % snapshot_swhid) | ||||
revision_obj = data["snapshot"]["branches"]["nodes"][0]["target"] | revision_obj = data["snapshot"]["branches"]["nodes"][0]["target"] | ||||
assert revision_obj == { | assert revision_obj == { | ||||
"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c" | "swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c" | ||||
} | } | ||||
def test_get_revision_log(client): | def test_get_revision_log(client): | ||||
revision_swhid = "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c" | revision_swhid = get_revisions_with_parents()[0].swhid() | ||||
query_str = """ | query_str = """ | ||||
{ | { | ||||
revision(swhid: "%s") { | revision(swhid: "%s") { | ||||
swhid | swhid | ||||
revisionLog(first: 3) { | revisionLog(first: 3) { | ||||
nodes { | nodes { | ||||
swhid | swhid | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
""" | """ | ||||
data, _ = utils.get_query_response(client, query_str % revision_swhid) | data, _ = utils.get_query_response(client, query_str % revision_swhid) | ||||
assert data["revision"]["revisionLog"] == { | assert data["revision"]["revisionLog"] == { | ||||
"nodes": [ | "nodes": [ | ||||
{"swhid": "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c"}, | {"swhid": str(revision_swhid)}, | ||||
{"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c"}, | {"swhid": str(get_revisions()[0].swhid())}, | ||||
{"swhid": "swh:1:rev:c7f96242d73c267adc77c2908e64e0c1cb6a4431"}, | {"swhid": str(get_revisions()[1].swhid())}, | ||||
] | ] | ||||
} | } | ||||
def test_get_revision_parents(client): | def test_get_revision_parents(client): | ||||
revision_swhid = "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c" | revision_swhid = get_revisions_with_parents()[0].swhid() | ||||
query_str = """ | query_str = """ | ||||
{ | { | ||||
revision(swhid: "%s") { | revision(swhid: "%s") { | ||||
swhid | swhid | ||||
parents { | parents { | ||||
nodes { | nodes { | ||||
swhid | swhid | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
""" | """ | ||||
data, _ = utils.get_query_response(client, query_str % revision_swhid) | data, _ = utils.get_query_response(client, query_str % revision_swhid) | ||||
assert data["revision"]["parents"] == { | assert data["revision"]["parents"] == { | ||||
"nodes": [ | "nodes": [ | ||||
{"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c"}, | {"swhid": str(get_revisions()[0].swhid())}, | ||||
{"swhid": "swh:1:rev:c7f96242d73c267adc77c2908e64e0c1cb6a4431"}, | {"swhid": str(get_revisions()[1].swhid())}, | ||||
] | ] | ||||
} | } |