ansible/test/integration/targets/xml/tasks/test-set-element-value.yml
Dag Wieers 2634ef955a xml module: Better change detection, improved tests (#28460)
This PR includes:

- Improvements to change-detection by comparing 2 objectified XML trees
- Implement better integration tests by comparing 2 files using copy
2017-08-25 02:07:58 +02:00

43 lines
1.1 KiB
YAML

---
- name: Setup test fixture
copy:
src: fixtures/ansible-xml-beers.xml
dest: /tmp/ansible-xml-beers.xml
- name: Add 2nd '/business/rating' with value '5'
xml:
path: /tmp/ansible-xml-beers.xml
xpath: /business
add_children:
- rating: '5'
- name: Set '/business/rating' to '5'
xml:
path: /tmp/ansible-xml-beers.xml
xpath: /business/rating
value: '5'
register: set_element_first_run
- name: Set '/business/rating' to '5'... again
xml:
path: /tmp/ansible-xml-beers.xml
xpath: /business/rating
value: '5'
register: set_element_second_run
- name: Compare to expected result
copy:
src: results/test-set-element-value.xml
dest: /tmp/ansible-xml-beers.xml
check_mode: yes
diff: yes
register: comparison
- name: Test expected result
assert:
that:
- set_element_first_run.changed == true
- set_element_second_run.changed == false
- comparison.changed == false # identical
#command: diff -u {{ role_path }}/results/test-set-element-value.xml /tmp/ansible-xml-beers.xml