community.general/tests/integration/targets/xml/tasks/test-get-element-content.yml

48 lines
1.2 KiB
YAML

---
- 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'
- name: Get element attributes (should fail)
xml:
path: /tmp/ansible-xml-beers.xml
xpath: /business/rating
content: attribute
attribute: subjective
register: get_element_attribute_wrong
ignore_errors: true
- name: Test expected result
assert:
that:
- get_element_attribute_wrong is failed
- 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'