Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/unit/resolvers/test_resolvers.py
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | @pytest.mark.parametrize( | ||||
(rs.visits_resolver, resolvers.visit.OriginVisitConnection), | (rs.visits_resolver, resolvers.visit.OriginVisitConnection), | ||||
(rs.origin_snapshots_resolver, resolvers.snapshot.OriginSnapshotConnection), | (rs.origin_snapshots_resolver, resolvers.snapshot.OriginSnapshotConnection), | ||||
(rs.visitstatus_resolver, resolvers.visit_status.VisitStatusConnection), | (rs.visitstatus_resolver, resolvers.visit_status.VisitStatusConnection), | ||||
( | ( | ||||
rs.snapshot_branches_resolver, | rs.snapshot_branches_resolver, | ||||
resolvers.snapshot_branch.SnapshotBranchConnection, | resolvers.snapshot_branch.SnapshotBranchConnection, | ||||
), | ), | ||||
(rs.revision_parents_resolver, resolvers.revision.ParentRevisionConnection), | (rs.revision_parents_resolver, resolvers.revision.ParentRevisionConnection), | ||||
# (rs.revision_log_resolver, resolvers.revision.LogRevisionConnection), | (rs.revision_log_resolver, resolvers.revision.LogRevisionConnection), | ||||
( | ( | ||||
rs.directory_entries_resolver, | rs.directory_entries_resolver, | ||||
resolvers.directory_entry.DirectoryEntryConnection, | resolvers.directory_entry.DirectoryEntryConnection, | ||||
), | ), | ||||
], | ], | ||||
) | ) | ||||
def test_connection_resolver(self, resolver_func, connection_cls): | def test_connection_resolver(self, resolver_func, connection_cls): | ||||
connection_obj = resolver_func(None, None) | connection_obj = resolver_func(None, None) | ||||
# assert the right object is returned | # assert the right object is returned | ||||
assert isinstance(connection_obj, connection_cls) | assert isinstance(connection_obj, connection_cls) | ||||
@pytest.mark.parametrize( | @pytest.mark.parametrize( | ||||
"branch_type, node_cls", | "branch_type, node_cls", | ||||
[ | [ | ||||
("revision", resolvers.revision.TargetRevisionNode), | ("revision", resolvers.revision.TargetRevisionNode), | ||||
("release", resolvers.release.TargetReleaseNode), | ("release", resolvers.release.TargetReleaseNode), | ||||
("directory", resolvers.directory.TargetDirectoryNode), | ("directory", resolvers.directory.TargetDirectoryNode), | ||||
("content", resolvers.content.TargetContentNode), | ("content", resolvers.content.TargetContentNode), | ||||
("snapshot", resolvers.snapshot.TargetSnapshotNode), | ("snapshot", resolvers.snapshot.TargetSnapshotNode), | ||||
], | ], | ||||
) | ) | ||||
def test_snapshot_branch_target_resolver( | def test_snapshot_branch_target_resolver( | ||||
self, mocker, dummy_node, branch_type, node_cls | self, mocker, dummy_node, branch_type, node_cls | ||||
): | ): | ||||
obj = mocker.Mock(type=branch_type) | obj = mocker.Mock(targetType=branch_type) | ||||
mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | ||||
node_obj = rs.snapshot_branch_target_resolver(obj, None) | node_obj = rs.snapshot_branch_target_resolver(obj, None) | ||||
assert isinstance(node_obj, node_cls) | assert isinstance(node_obj, node_cls) | ||||
assert mock_get.assert_called | assert mock_get.assert_called | ||||
@pytest.mark.parametrize( | @pytest.mark.parametrize( | ||||
"target_type, node_cls", | "target_type, node_cls", | ||||
[ | [ | ||||
("revision", resolvers.revision.TargetRevisionNode), | ("revision", resolvers.revision.TargetRevisionNode), | ||||
("release", resolvers.release.TargetReleaseNode), | ("release", resolvers.release.TargetReleaseNode), | ||||
("directory", resolvers.directory.TargetDirectoryNode), | ("directory", resolvers.directory.TargetDirectoryNode), | ||||
("content", resolvers.content.TargetContentNode), | ("content", resolvers.content.TargetContentNode), | ||||
], | ], | ||||
) | ) | ||||
def test_release_target_resolver(self, mocker, dummy_node, target_type, node_cls): | def test_release_target_resolver(self, mocker, dummy_node, target_type, node_cls): | ||||
obj = mocker.Mock(target_type=(mocker.Mock(value=target_type))) | obj = mocker.Mock(targetType=target_type) | ||||
mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | ||||
node_obj = rs.release_target_resolver(obj, None) | node_obj = rs.release_target_resolver(obj, None) | ||||
assert isinstance(node_obj, node_cls) | assert isinstance(node_obj, node_cls) | ||||
assert mock_get.assert_called | assert mock_get.assert_called | ||||
@pytest.mark.parametrize( | @pytest.mark.parametrize( | ||||
"target_type, node_cls", | "target_type, node_cls", | ||||
[ | [ | ||||
Show All 26 Lines |