2020-02-29 05:37:50 +01:00
---
- name : Setup test fixture
copy :
src : fixtures/ansible-xml-beers.xml
dest : /tmp/ansible-xml-beers.xml
- name : Get element attributes
xml :
path : /tmp/ansible-xml-beers.xml
xpath : /business/rating
content : attribute
register : get_element_attribute
- name : Test expected result
assert :
that :
- get_element_attribute.changed == false
- get_element_attribute.matches[0]['rating'] is defined
- get_element_attribute.matches[0]['rating']['subjective'] == 'true'
# TODO: Remove this in Ansible v2.12 when this incorrect use of attribute is deprecated
- name : Get element attributes
xml :
path : /tmp/ansible-xml-beers.xml
xpath : /business/rating
content : attribute
attribute : subjective
register : get_element_attribute_wrong
- name : Test expected result
assert :
that :
- get_element_attribute_wrong.changed == false
- get_element_attribute_wrong.matches[0]['rating'] is defined
- get_element_attribute_wrong.matches[0]['rating']['subjective'] == 'true'
- get_element_attribute_wrong.deprecations is defined
- get_element_attribute_wrong.deprecations[0].msg == "Parameter 'attribute=subjective' is ignored when using 'content=attribute' only 'xpath' is used. Please remove entry."
2020-06-10 00:21:19 +02:00
- get_element_attribute_wrong.deprecations[0].version == '2.12'
2020-02-29 05:37:50 +01:00
- name : Get element text
xml :
path : /tmp/ansible-xml-beers.xml
xpath : /business/rating
content : text
register : get_element_text
- name : Test expected result
assert :
that :
- get_element_text.changed == false
- get_element_text.matches[0]['rating'] == '10'