---
- name: Setup xml and expected json
ansible.builtin.set_fact:
data: '
'
output:
{
"netconf-state":
{
"@xmlns": "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring",
"schemas": { "schema": null },
},
}
- name: Debug
ansible.builtin.debug:
msg: "{{ data | ansible.utils.from_xml() }}"
- name: Integration tests with and without default engine as xmltodict and
ansible.builtin.assert:
that: "{{ output == item.test }}"
loop:
- test: "{{ data | ansible.utils.from_xml() }}"
- test: "{{ data | ansible.utils.from_xml('xmltodict') }}"
- name: Setup invalid xml as input to ansible.utils.from_xml.
ansible.builtin.set_fact:
data: ''
- name: Validate input xml
ansible.builtin.set_fact:
_result: "{{ data | ansible.utils.from_xml() }}"
ignore_errors: true
register: result
- name: Assert
ansible.builtin.assert:
that: "{{ msg in result.msg }}"
vars:
msg: "Error when using plugin 'from_xml': Input Xml is not valid"