mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
Introduce 'insertbefore' and 'insertafter' to specify the position (#44811)
* Introduce 'insertbefore' and 'insertafter' to specify the position children have to be inserted. * Added version_added to new options * Xpath in example needs single quotes * Added integration tests for insertafter and insertbefore * Changed version_added to 2.8
This commit is contained in:
@@ -37,6 +37,8 @@
|
||||
|
||||
- include_tasks: test-add-children-elements.yml
|
||||
- include_tasks: test-add-children-from-groupvars.yml
|
||||
- include_tasks: test-add-children-insertafter.yml
|
||||
- include_tasks: test-add-children-insertbefore.yml
|
||||
- include_tasks: test-add-children-with-attributes.yml
|
||||
- include_tasks: test-add-element-implicitly.yml
|
||||
- include_tasks: test-count.yml
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Setup test fixture
|
||||
copy:
|
||||
src: fixtures/ansible-xml-beers.xml
|
||||
dest: /tmp/ansible-xml-beers.xml
|
||||
|
||||
|
||||
- name: Add child element
|
||||
xml:
|
||||
path: /tmp/ansible-xml-beers.xml
|
||||
xpath: '/business/beers/beer[text()="St. Bernardus Abbot 12"]'
|
||||
insertafter: yes
|
||||
add_children:
|
||||
- beer: Old Rasputin
|
||||
- beer: Old Motor Oil
|
||||
- beer: Old Curmudgeon
|
||||
pretty_print: yes
|
||||
register: add_children_insertafter
|
||||
|
||||
- name: Compare to expected result
|
||||
copy:
|
||||
src: results/test-add-children-insertafter.xml
|
||||
dest: /tmp/ansible-xml-beers.xml
|
||||
check_mode: yes
|
||||
diff: yes
|
||||
register: comparison
|
||||
|
||||
- name: Test expected result
|
||||
assert:
|
||||
that:
|
||||
- add_children_insertafter.changed == true
|
||||
- comparison.changed == false # identical
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
- name: Setup test fixture
|
||||
copy:
|
||||
src: fixtures/ansible-xml-beers.xml
|
||||
dest: /tmp/ansible-xml-beers.xml
|
||||
|
||||
|
||||
- name: Add child element
|
||||
xml:
|
||||
path: /tmp/ansible-xml-beers.xml
|
||||
xpath: '/business/beers/beer[text()="St. Bernardus Abbot 12"]'
|
||||
insertbefore: yes
|
||||
add_children:
|
||||
- beer: Old Rasputin
|
||||
- beer: Old Motor Oil
|
||||
- beer: Old Curmudgeon
|
||||
pretty_print: yes
|
||||
register: add_children_insertbefore
|
||||
|
||||
- name: Compare to expected result
|
||||
copy:
|
||||
src: results/test-add-children-insertbefore.xml
|
||||
dest: /tmp/ansible-xml-beers.xml
|
||||
check_mode: yes
|
||||
diff: yes
|
||||
register: comparison
|
||||
|
||||
- name: Test expected result
|
||||
assert:
|
||||
that:
|
||||
- add_children_insertbefore.changed == true
|
||||
- comparison.changed == false # identical
|
||||
Reference in New Issue
Block a user