2017-08-09 05:21:03 +02:00
---
- name : Setup test fixture
copy :
2017-08-25 02:07:58 +02:00
src : fixtures/ansible-xml-beers.xml
2017-08-09 05:21:03 +02:00
dest : /tmp/ansible-xml-beers.xml
2017-08-25 02:07:58 +02:00
2017-08-09 05:21:03 +02:00
- name : Get element attributes
xml :
path : /tmp/ansible-xml-beers.xml
xpath : /business/rating
2017-08-25 02:07:58 +02:00
content : attribute
2017-08-09 05:21:03 +02:00
register : get_element_attribute
2017-08-25 02:07:58 +02:00
- name : Test expected result
assert :
that :
- get_element_attribute.changed == false
2019-03-29 15:13:19 +01:00
- 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."
- get_element_attribute_wrong.deprecations[0].version == '2.12'
2017-08-09 05:21:03 +02:00
- name : Get element text
xml :
path : /tmp/ansible-xml-beers.xml
xpath : /business/rating
2017-08-25 02:07:58 +02:00
content : text
2017-08-09 05:21:03 +02:00
register : get_element_text
2017-08-25 02:07:58 +02:00
- name : Test expected result
assert :
that :
- get_element_text.changed == false
- get_element_text.matches[0]['rating'] == '10'