Changeset View
Changeset View
Standalone View
Standalone View
swh/graphql/tests/unit/resolvers/test_resolvers.py
Show First 20 Lines • Show All 59 Lines • ▼ Show 20 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==" |