def test_duplicate_yaml_dict_key_ignore(dupe_node, monkeypatch): monkeypatch.setattr(C, 'DUPLICATE_YAML_DICT_KEY', 'ignore') cap = Capture() monkeypatch.setattr(Display(), 'warning', cap) ac = AnsibleConstructor() ac.construct_mapping(dupe_node) assert not cap.called
def test_duplicate_yaml_dict_key_warn(dupe_node, monkeypatch): monkeypatch.setattr(C, 'DUPLICATE_YAML_DICT_KEY', 'warn') cap = Capture() monkeypatch.setattr(Display(), 'warning', cap) ac = AnsibleConstructor() ac.construct_mapping(dupe_node) assert cap.called expected = [(( 'While constructing a mapping from tag:yaml.org,2002:map, line 1, column 1, ' 'found a duplicate dict key (bar). Using last defined value only.', ), {})] assert cap.calls == expected
def construct_mapping(node, deep=False): mapping = AnsibleConstructor.construct_mapping(loader, node, deep=deep) if hasattr(node, '__line__'): mapping[LINE_NUMBER_KEY] = node.__line__ else: mapping[LINE_NUMBER_KEY] = mapping._line_number mapping[FILENAME_KEY] = filename return mapping
def construct_mapping(node: AnsibleBaseYAMLObject, deep: bool = False) -> AnsibleMapping: mapping = AnsibleConstructor.construct_mapping(loader, node, deep=deep) if hasattr(node, '__line__'): mapping[LINE_NUMBER_KEY] = node.__line__ else: mapping[LINE_NUMBER_KEY] = mapping._line_number mapping[FILENAME_KEY] = lintable.path return mapping
def construct_mapping(node, deep=False): if ANSIBLE_VERSION < 2: mapping = Constructor.construct_mapping(loader, node, deep=deep) else: mapping = AnsibleConstructor.construct_mapping(loader, node, deep=deep) if hasattr(node, '__line__'): mapping[LINE_NUMBER_KEY] = node.__line__ else: mapping[LINE_NUMBER_KEY] = mapping._line_number mapping[FILENAME_KEY] = filename return mapping
def construct_mapping(node, deep=False): try: mapping = AnsibleConstructor.construct_mapping(loader, node, deep=deep) except yaml.constructor.ConstructorError as e: raise LaterError("syntax error", e) if hasattr(node, "__line__"): mapping[LINE_NUMBER_KEY] = node.__line__ else: mapping[LINE_NUMBER_KEY] = mapping._line_number mapping[FILENAME_KEY] = filename return mapping