Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/unit/resolvers/test_resolvers.py
Show All 26 Lines | @pytest.mark.parametrize( | ||||
resolvers.visit_status.LatestVisitStatusNode, | resolvers.visit_status.LatestVisitStatusNode, | ||||
), | ), | ||||
(rs.snapshot_resolver, resolvers.snapshot.SnapshotNode), | (rs.snapshot_resolver, resolvers.snapshot.SnapshotNode), | ||||
(rs.revision_resolver, resolvers.revision.RevisionNode), | (rs.revision_resolver, resolvers.revision.RevisionNode), | ||||
(rs.revision_directory_resolver, resolvers.directory.RevisionDirectoryNode), | (rs.revision_directory_resolver, resolvers.directory.RevisionDirectoryNode), | ||||
(rs.release_resolver, resolvers.release.ReleaseNode), | (rs.release_resolver, resolvers.release.ReleaseNode), | ||||
(rs.directory_resolver, resolvers.directory.DirectoryNode), | (rs.directory_resolver, resolvers.directory.DirectoryNode), | ||||
(rs.content_by_hashes_resolver, resolvers.content.ContentbyHashesNode), | (rs.content_by_hashes_resolver, resolvers.content.ContentbyHashesNode), | ||||
(rs.generic_target_resolver, resolvers.target.TargetNode), | |||||
], | ], | ||||
) | ) | ||||
def test_node_resolver(self, mocker, dummy_node, resolver_func, node_cls): | def test_node_resolver(self, mocker, dummy_node, resolver_func, node_cls): | ||||
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 = resolver_func(None, None) | node_obj = resolver_func(None, None) | ||||
# assert the _get_node method is called on the right object | # assert the _get_node method is called on the right object | ||||
assert isinstance(node_obj, node_cls) | assert isinstance(node_obj, node_cls) | ||||
assert mock_get.assert_called | assert mock_get.assert_called | ||||
Show All 17 Lines | @pytest.mark.parametrize( | ||||
), | ), | ||||
], | ], | ||||
) | ) | ||||
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( | |||||
"branch_type, node_cls", | |||||
[ | |||||
("revision", resolvers.revision.TargetRevisionNode), | |||||
("release", resolvers.release.TargetReleaseNode), | |||||
("directory", resolvers.directory.TargetDirectoryNode), | |||||
("content", resolvers.content.TargetContentNode), | |||||
("snapshot", resolvers.snapshot.TargetSnapshotNode), | |||||
], | |||||
) | |||||
def test_snapshot_branch_target_resolver( | |||||
self, mocker, dummy_node, branch_type, node_cls | |||||
): | |||||
obj = mocker.Mock(targetType=branch_type) | |||||
mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | |||||
node_obj = rs.snapshot_branch_target_resolver(obj, None) | |||||
assert isinstance(node_obj, node_cls) | |||||
assert mock_get.assert_called | |||||
@pytest.mark.parametrize( | |||||
"target_type, node_cls", | |||||
[ | |||||
("revision", resolvers.revision.TargetRevisionNode), | |||||
("release", resolvers.release.TargetReleaseNode), | |||||
("directory", resolvers.directory.TargetDirectoryNode), | |||||
("content", resolvers.content.TargetContentNode), | |||||
], | |||||
) | |||||
def test_release_target_resolver(self, mocker, dummy_node, target_type, node_cls): | |||||
obj = mocker.Mock(targetType=target_type) | |||||
mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | |||||
node_obj = rs.release_target_resolver(obj, None) | |||||
assert isinstance(node_obj, node_cls) | |||||
assert mock_get.assert_called | |||||
@pytest.mark.parametrize( | |||||
"target_type, node_cls", | |||||
[ | |||||
("directory", resolvers.directory.TargetDirectoryNode), | |||||
("content", resolvers.content.TargetContentNode), | |||||
("revision", resolvers.revision.TargetRevisionNode), | |||||
], | |||||
) | |||||
def test_directory_entry_target_resolver( | |||||
self, mocker, dummy_node, target_type, node_cls | |||||
): | |||||
obj = mocker.Mock(targetType=target_type) | |||||
mock_get = mocker.patch.object(node_cls, "_get_node", return_value=dummy_node) | |||||
node_obj = rs.directory_entry_target_resolver(obj, None) | |||||
assert isinstance(node_obj, node_cls) | |||||
assert mock_get.assert_called | |||||
def test_union_resolver(self, mocker): | def test_union_resolver(self, mocker): | ||||
obj = mocker.Mock() | obj = mocker.Mock() | ||||
obj.is_type_of.return_value = "test" | obj.is_type_of.return_value = "test" | ||||
assert rs.union_resolver(obj) == "test" | assert rs.union_resolver(obj) == "test" | ||||
def test_binary_string_text_resolver(self): | def test_binary_string_text_resolver(self): | ||||
text = rs.binary_string_text_resolver(b"test", None) | text = rs.binary_string_text_resolver(b"test", None) | ||||
assert text == "test" | assert text == "test" | ||||
def test_binary_string_base64_resolver(self): | def test_binary_string_base64_resolver(self): | ||||
b64string = rs.binary_string_base64_resolver(b"test", None) | b64string = rs.binary_string_base64_resolver(b"test", None) | ||||
assert b64string == "dGVzdA==" | assert b64string == "dGVzdA==" |