--- - 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: name: 90 Minute IPA alcohol: "0.5" _: - Water: quantity: 200g liter: "0.2" - Starch: quantity: 10g - Hops: quantity: 50g - Yeast: quantity: 20g - beer: name: Harvest Pumpkin Ale alcohol: "0.3" _: - Water: quantity: 200g liter: "0.2" - 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