ansible/test/integration/targets/xml/tasks/test-xmlstring.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

74 lines
2.3 KiB
YAML

---
# NOTE: Jinja2 templating eats trailing newlines
- name: Read from xmlstring (not using pretty_print)
xml:
xmlstring: "{{ lookup('file', '{{ role_path }}/fixtures/ansible-xml-beers.xml') }}"
xpath: .
register: xmlresponse
- name: Compare to expected result
copy:
content: "{{ xmlresponse.xmlstring }}\n"
dest: '{{ role_path }}/results/test-pretty-print-only.xml'
check_mode: yes
diff: yes
register: comparison
- name: Test expected result
assert:
that:
- xmlresponse.changed == false
- comparison.changed == false # identical
#command: diff -u {{ role_path }}/results/test-pretty-print-only.xml /tmp/ansible-xml-beers.xml
# NOTE: Jinja2 templating eats trailing newlines
- name: Read from xmlstring (using pretty_print)
xml:
xmlstring: "{{ lookup('file', '{{ role_path }}/fixtures/ansible-xml-beers.xml') }}"
pretty_print: yes
register: xmlresponse
- name: Compare to expected result
copy:
content: '{{ xmlresponse.xmlstring }}'
dest: '{{ role_path }}/results/test-pretty-print-only.xml'
check_mode: yes
diff: yes
register: comparison
# FIXME: This change is related to the newline added by pretty_print
- name: Test expected result
assert:
that:
- xmlresponse.changed == true
- comparison.changed == false # identical
#command: diff -u {{ role_path }}/results/test-pretty-print-only.xml /tmp/ansible-xml-beers.xml
# NOTE: Jinja2 templating eats trailing newlines
- name: Read from xmlstring
xml:
xmlstring: "{{ lookup('file', '{{ role_path }}/fixtures/ansible-xml-beers.xml') }}"
xpath: /business/beers
pretty_print: yes
add_children:
- beer: Old Rasputin
register: xmlresponse_modification
- name: Compare to expected result
copy:
content: '{{ xmlresponse_modification.xmlstring }}'
dest: '{{ role_path }}/results/test-pretty-print.xml'
check_mode: yes
diff: yes
register: comparison
# FIXME: This change is related to the newline added by pretty_print
- name: Test expected result
assert:
that:
- xmlresponse_modification.changed == true
- comparison.changed == false # identical
#command: diff -u {{ role_path }}/results/test-pretty-print.xml /tmp/ansible-xml-beers.xml