19299f3310
A recent update to lxml for Python >= 3.6 now preserves key order. Change the test input so the input is sorted, making tests pass on previous versions of lxml as well as the latest version.
74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
---
|
|
- name: Setup test fixture
|
|
copy:
|
|
src: fixtures/ansible-xml-beers.xml
|
|
dest: /tmp/ansible-xml-beers.xml
|
|
|
|
|
|
- name: Set child elements
|
|
xml:
|
|
path: /tmp/ansible-xml-beers.xml
|
|
xpath: /business/beers
|
|
set_children: &children
|
|
- beer:
|
|
alcohol: "0.5"
|
|
name: 90 Minute IPA
|
|
_:
|
|
- Water:
|
|
liter: "0.2"
|
|
quantity: 200g
|
|
- Starch:
|
|
quantity: 10g
|
|
- Hops:
|
|
quantity: 50g
|
|
- Yeast:
|
|
quantity: 20g
|
|
- beer:
|
|
alcohol: "0.3"
|
|
name: Harvest Pumpkin Ale
|
|
_:
|
|
- Water:
|
|
liter: "0.2"
|
|
quantity: 200g
|
|
- Hops:
|
|
quantity: 25g
|
|
- Yeast:
|
|
quantity: 20g
|
|
register: set_children_elements_level
|
|
|
|
- name: Compare to expected result
|
|
copy:
|
|
src: results/test-set-children-elements-level.xml
|
|
dest: /tmp/ansible-xml-beers.xml
|
|
check_mode: yes
|
|
diff: yes
|
|
register: comparison
|
|
|
|
- name: Test expected result
|
|
assert:
|
|
that:
|
|
- set_children_elements_level.changed == true
|
|
- comparison.changed == false # identical
|
|
#command: diff -u {{ role_path }}/results/test-set-children-elements-level.xml /tmp/ansible-xml-beers.xml
|
|
|
|
|
|
- name: Set child elements (again)
|
|
xml:
|
|
path: /tmp/ansible-xml-beers.xml
|
|
xpath: /business/beers
|
|
set_children: *children
|
|
register: set_children_again
|
|
|
|
- name: Compare to expected result
|
|
copy:
|
|
src: results/test-set-children-elements-level.xml
|
|
dest: /tmp/ansible-xml-beers.xml
|
|
check_mode: yes
|
|
diff: yes
|
|
register: comparison
|
|
|
|
- name: Test expected result
|
|
assert:
|
|
that:
|
|
- set_children_again.changed == false
|
|
- comparison.changed == false # identical
|