Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/unit/resolvers/test_resolver_factory.py
# 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 | |||||
import pytest | import pytest | ||||
from swh.graphql.resolvers import resolver_factory | from swh.graphql.resolvers import resolver_factory | ||||
class TestFactory: | class TestFactory: | ||||
@pytest.mark.parametrize( | @pytest.mark.parametrize( | ||||
"input_type, expexted", | "input_type, expected", | ||||
[ | [ | ||||
("origin", "OriginNode"), | ("origin", "OriginNode"), | ||||
("visit", "OriginVisitNode"), | ("visit", "OriginVisitNode"), | ||||
("latest-visit", "LatestVisitNode"), | ("latest-visit", "LatestVisitNode"), | ||||
("latest-status", "LatestVisitStatusNode"), | ("latest-status", "LatestVisitStatusNode"), | ||||
("visit-snapshot", "VisitSnapshotNode"), | ("visit-snapshot", "VisitSnapshotNode"), | ||||
("snapshot", "SnapshotNode"), | ("snapshot", "SnapshotNode"), | ||||
("branch-revision", "TargetRevisionNode"), | ("branch-revision", "TargetRevisionNode"), | ||||
("branch-release", "TargetReleaseNode"), | ("branch-release", "TargetReleaseNode"), | ||||
("revision", "RevisionNode"), | ("revision", "RevisionNode"), | ||||
("revision-directory", "RevisionDirectoryNode"), | ("revision-directory", "RevisionDirectoryNode"), | ||||
("release", "ReleaseNode"), | ("release", "ReleaseNode"), | ||||
("release-revision", "TargetRevisionNode"), | ("release-revision", "TargetRevisionNode"), | ||||
("release-release", "TargetReleaseNode"), | ("release-release", "TargetReleaseNode"), | ||||
("release-directory", "TargetDirectoryNode"), | ("release-directory", "TargetDirectoryNode"), | ||||
("release-content", "TargetContentNode"), | ("release-content", "TargetContentNode"), | ||||
("directory", "DirectoryNode"), | ("directory", "DirectoryNode"), | ||||
("content", "ContentNode"), | ("content", "ContentNode"), | ||||
("dir-entry-dir", "TargetDirectoryNode"), | ("dir-entry-dir", "TargetDirectoryNode"), | ||||
("dir-entry-file", "TargetContentNode"), | ("dir-entry-file", "TargetContentNode"), | ||||
], | ], | ||||
) | ) | ||||
def test_get_node_resolver(self, input_type, expexted): | def test_get_node_resolver(self, input_type, expected): | ||||
response = resolver_factory.get_node_resolver(input_type) | response = resolver_factory.get_node_resolver(input_type) | ||||
assert response.__name__ == expexted | assert response.__name__ == expected | ||||
def test_get_node_resolver_invalid_type(self): | def test_get_node_resolver_invalid_type(self): | ||||
with pytest.raises(AttributeError): | with pytest.raises(AttributeError): | ||||
resolver_factory.get_node_resolver("invalid") | resolver_factory.get_node_resolver("invalid") | ||||
@pytest.mark.parametrize( | @pytest.mark.parametrize( | ||||
"input_type, expexted", | "input_type, expected", | ||||
[ | [ | ||||
("origins", "OriginConnection"), | ("origins", "OriginConnection"), | ||||
("origin-visits", "OriginVisitConnection"), | ("origin-visits", "OriginVisitConnection"), | ||||
("origin-snapshots", "OriginSnapshotConnection"), | ("origin-snapshots", "OriginSnapshotConnection"), | ||||
("visit-status", "VisitStatusConnection"), | ("visit-status", "VisitStatusConnection"), | ||||
("snapshot-branches", "SnapshotBranchConnection"), | ("snapshot-branches", "SnapshotBranchConnection"), | ||||
("revision-parents", "ParentRevisionConnection"), | ("revision-parents", "ParentRevisionConnection"), | ||||
("revision-log", "LogRevisionConnection"), | ("revision-log", "LogRevisionConnection"), | ||||
("directory-entries", "DirectoryEntryConnection"), | ("directory-entries", "DirectoryEntryConnection"), | ||||
], | ], | ||||
) | ) | ||||
def test_get_connection_resolver(self, input_type, expexted): | def test_get_connection_resolver(self, input_type, expected): | ||||
response = resolver_factory.get_connection_resolver(input_type) | response = resolver_factory.get_connection_resolver(input_type) | ||||
assert response.__name__ == expexted | assert response.__name__ == expected | ||||
def test_get_connection_resolver_invalid_type(self): | def test_get_connection_resolver_invalid_type(self): | ||||
with pytest.raises(AttributeError): | with pytest.raises(AttributeError): | ||||
resolver_factory.get_connection_resolver("invalid") | resolver_factory.get_connection_resolver("invalid") |