def test_non_int_array_index_error(self, quiet_logger): from collections import deque yamldata = """--- - 1 """ yaml = YAML() data = yaml.load(yamldata) path = YAMLPath("[0]") processor = Processor(quiet_logger, data) strp = str(path) path._escaped = deque([ (PathSegmentTypes.INDEX, "0F"), ]) path._unescaped = deque([ (PathSegmentTypes.INDEX, "0F"), ]) with pytest.raises(YAMLPathException) as ex: nodes = list(processor._get_nodes_by_index(data, path, 0)) assert -1 < str(ex.value).find("is not an integer array index")
def test_get_nodes_by_unknown_path_segment_error(self, quiet_logger): from collections import deque from enum import Enum from yamlpath.enums import PathSegmentTypes names = [m.name for m in PathSegmentTypes] + ['DNF'] PathSegmentTypes = Enum('PathSegmentTypes', names) yamldata = """--- key: value """ yaml = YAML() data = yaml.load(yamldata) processor = Processor(quiet_logger, data) path = YAMLPath("abc") stringified = str(path) # Force Path to parse path._escaped = deque([ (PathSegmentTypes.DNF, "abc"), ]) with pytest.raises(NotImplementedError): nodes = list(processor._get_nodes_by_path_segment(data, path, 0))