2017-08-09 03:21:03 +00:00
|
|
|
---
|
|
|
|
- name: Setup test fixture
|
|
|
|
copy:
|
2017-08-25 00:07:58 +00:00
|
|
|
src: fixtures/ansible-xml-beers.xml
|
2017-08-09 03:21:03 +00:00
|
|
|
dest: /tmp/ansible-xml-beers.xml
|
|
|
|
|
2017-08-25 00:07:58 +00:00
|
|
|
|
2017-08-09 03:21:03 +00:00
|
|
|
- name: Add child element
|
|
|
|
xml:
|
|
|
|
path: /tmp/ansible-xml-beers.xml
|
|
|
|
xpath: /business/beers
|
|
|
|
add_children:
|
2017-08-25 00:07:58 +00:00
|
|
|
- beer:
|
|
|
|
name: Ansible Brew
|
|
|
|
type: light
|
|
|
|
register: add_children_with_attributes
|
|
|
|
|
|
|
|
- name: Compare to expected result
|
|
|
|
copy:
|
|
|
|
src: results/test-add-children-with-attributes.xml
|
|
|
|
dest: /tmp/ansible-xml-beers.xml
|
|
|
|
check_mode: yes
|
|
|
|
diff: yes
|
|
|
|
register: comparison
|
2017-08-09 03:21:03 +00:00
|
|
|
|
|
|
|
# NOTE: This test may fail if lxml does not support predictable element attribute order
|
|
|
|
# So we filter the failure out for these platforms (e.g. CentOS 6)
|
|
|
|
# The module still works fine, we simply are not comparing as smart as we should.
|
|
|
|
- name: Test expected result
|
2017-08-25 00:07:58 +00:00
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- add_children_with_attributes.changed == true
|
|
|
|
- comparison.changed == false # identical
|
|
|
|
when: lxml_predictable_attribute_order
|
|
|
|
#command: diff -u {{ role_path }}/results/test-add-children-with-attributes.xml /tmp/ansible-xml-beers.xml
|