diff --git a/swh/graphql/tests/data.py b/swh/graphql/tests/data.py --- a/swh/graphql/tests/data.py +++ b/swh/graphql/tests/data.py @@ -3,7 +3,6 @@ # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information -from swh.model.hashutil import hash_to_bytes from swh.model.model import ObjectType, Release, Revision, RevisionType from swh.model.tests import swh_model_data @@ -44,7 +43,6 @@ targets in swh.model.tests.swh_model_data """ with_revision = Release( - id=hash_to_bytes("9129dc4e14acd0e51ca3bcd6b80f4577d281fd25"), name=b"v0.0.1", target_type=ObjectType.REVISION, target=get_revisions()[0].id, @@ -52,7 +50,6 @@ synthetic=False, ) with_release = Release( - id=hash_to_bytes("6429dc4e14acd0e51ca3bcd6b80f4577d281fd32"), name=b"v0.0.1", target_type=ObjectType.RELEASE, target=get_releases()[0].id, @@ -60,7 +57,6 @@ synthetic=False, ) with_directory = Release( - id=hash_to_bytes("3129dc4e14acd0e51ca3bcd6b80f4577d281fd42"), name=b"v0.0.1", target_type=ObjectType.DIRECTORY, target=get_directories()[0].id, @@ -68,7 +64,6 @@ synthetic=False, ) with_content = Release( - id=hash_to_bytes("7589dc4e14acd0e51ca3bcd6b80f4577d281fd34"), name=b"v0.0.1", target_type=ObjectType.CONTENT, target=get_contents()[0].sha1_git, @@ -84,7 +79,6 @@ """ return [ Revision( - id=hash_to_bytes("37580d63b8dcc0ec73e74994e66896858542844c"), message=b"hello", date=swh_model_data.DATES[0], committer=swh_model_data.COMMITTERS[0], diff --git a/swh/graphql/tests/functional/test_release_node.py b/swh/graphql/tests/functional/test_release_node.py --- a/swh/graphql/tests/functional/test_release_node.py +++ b/swh/graphql/tests/functional/test_release_node.py @@ -7,8 +7,16 @@ import pytest +from swh.model.model import ObjectType + from . import utils -from ..data import get_releases +from ..data import ( + get_contents, + get_directories, + get_releases, + get_releases_with_target, + get_revisions, +) @pytest.mark.parametrize("release", get_releases()) @@ -77,8 +85,8 @@ assert len(errors) == 1 -def test_get_release_target_revision(client): - swhid = "swh:1:rel:9129dc4e14acd0e51ca3bcd6b80f4577d281fd25" +@pytest.mark.parametrize("release_with_target", get_releases_with_target()) +def test_get_release_targets(client, release_with_target): query_str = """ { release(swhid: "%s") { @@ -87,66 +95,12 @@ ...on Revision { swhid } - } - } - } - """ - data, _ = utils.get_query_response(client, query_str % swhid) - assert data["release"] == { - "target": {"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c"}, - "targetType": "revision", - } - - -def test_get_release_target_release(client): - swhid = "swh:1:rel:6429dc4e14acd0e51ca3bcd6b80f4577d281fd32" - query_str = """ - { - release(swhid: "%s") { - targetType - target { ...on Release { swhid } - } - } - } - """ - data, _ = utils.get_query_response(client, query_str % swhid) - assert data["release"] == { - "target": {"swhid": "swh:1:rel:8059dc4e17fcd0e51ca3bcd6b80f4577d281fd08"}, - "targetType": "release", - } - - -def test_get_release_target_directory(client): - swhid = "swh:1:rel:3129dc4e14acd0e51ca3bcd6b80f4577d281fd42" - query_str = """ - { - release(swhid: "%s") { - targetType - target { ...on Directory { swhid } - } - } - } - """ - data, _ = utils.get_query_response(client, query_str % swhid) - assert data["release"] == { - "target": {"swhid": "swh:1:dir:4b825dc642cb6eb9a060e54bf8d69288fbee4904"}, - "targetType": "directory", - } - - -def test_get_release_target_content(client): - swhid = "swh:1:rel:7589dc4e14acd0e51ca3bcd6b80f4577d281fd34" - query_str = """ - { - release(swhid: "%s") { - targetType - target { ...on Content { swhid } @@ -154,10 +108,19 @@ } } """ - data, _ = utils.get_query_response(client, query_str % swhid) + data, _ = utils.get_query_response(client, query_str % release_with_target.swhid()) + + if release_with_target.target_type == ObjectType.REVISION: + target_swhid = get_revisions()[0].swhid() + elif release_with_target.target_type == ObjectType.RELEASE: + target_swhid = get_releases()[0].swhid() + elif release_with_target.target_type == ObjectType.DIRECTORY: + target_swhid = get_directories()[0].swhid() + elif release_with_target.target_type == ObjectType.CONTENT: + target_swhid = get_contents()[0].swhid() assert data["release"] == { - "target": {"swhid": "swh:1:cnt:86bc6b377e9d25f9d26777a4a28d08e63e7c5779"}, - "targetType": "content", + "targetType": release_with_target.target_type.value, + "target": {"swhid": str(target_swhid)}, } @@ -167,7 +130,7 @@ # The target is of type Revision in this case # ie: both swhid and message will be available in the response - swhid = "swh:1:rel:9129dc4e14acd0e51ca3bcd6b80f4577d281fd25" + swhid = get_releases_with_target()[0].swhid() query_str = """ { release(swhid: "%s") { @@ -196,7 +159,7 @@ assert data["release"] == { "target": { "message": {"text": "hello"}, - "swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c", + "swhid": str(get_revisions()[0].swhid()), }, "targetType": "revision", } diff --git a/swh/graphql/tests/functional/test_revision.py b/swh/graphql/tests/functional/test_revision.py --- a/swh/graphql/tests/functional/test_revision.py +++ b/swh/graphql/tests/functional/test_revision.py @@ -8,7 +8,7 @@ from swh.model.swhids import CoreSWHID from . import utils -from ..data import get_revisions +from ..data import get_revisions, get_revisions_with_parents @pytest.mark.parametrize("revision", get_revisions()) @@ -113,7 +113,7 @@ def test_get_revision_log(client): - revision_swhid = "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c" + revision_swhid = get_revisions_with_parents()[0].swhid() query_str = """ { revision(swhid: "%s") { @@ -129,15 +129,15 @@ data, _ = utils.get_query_response(client, query_str % revision_swhid) assert data["revision"]["revisionLog"] == { "nodes": [ - {"swhid": "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c"}, - {"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c"}, - {"swhid": "swh:1:rev:c7f96242d73c267adc77c2908e64e0c1cb6a4431"}, + {"swhid": str(revision_swhid)}, + {"swhid": str(get_revisions()[0].swhid())}, + {"swhid": str(get_revisions()[1].swhid())}, ] } def test_get_revision_parents(client): - revision_swhid = "swh:1:rev:37580d63b8dcc0ec73e74994e66896858542844c" + revision_swhid = get_revisions_with_parents()[0].swhid() query_str = """ { revision(swhid: "%s") { @@ -151,9 +151,10 @@ } """ data, _ = utils.get_query_response(client, query_str % revision_swhid) + assert data["revision"]["parents"] == { "nodes": [ - {"swhid": "swh:1:rev:66c7c1cd9673275037140f2abff7b7b11fc9439c"}, - {"swhid": "swh:1:rev:c7f96242d73c267adc77c2908e64e0c1cb6a4431"}, + {"swhid": str(get_revisions()[0].swhid())}, + {"swhid": str(get_revisions()[1].swhid())}, ] }