--- - 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 is changed - comparison is not changed # 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 is not changed - comparison is not changed # identical