diff options
author | Dag Wieers <dag@wieers.com> | 2019-03-29 15:13:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-29 15:13:19 +0100 |
commit | 2ef0946370c95ae492b6d20df001464b085a777c (patch) | |
tree | ebe326c78029e17d52df74211fdbb302dfb42c49 /test/integration/targets/xml | |
parent | 3bbc083818eb579d454a37c2133a49d117d3313d (diff) | |
download | ansible-2ef0946370c95ae492b6d20df001464b085a777c.tar.gz |
Warn on incorrect use of parameter, and remove fix for now (#54336)
* Fix wrong example, remove strictness and fix tests
It was obvious that (because of an incorrect example) people were using
the **xml** module incorrectly, specifying the `attribute` parameter
where it was not supported (i.e. ignored).
While this functionality would have been useful, it currently returns as
if the information was requested from the parent, so we cannot simply
make it to what would be expected.
Therefor the real solution is to provide a warning when we find
incorrect use, and deprecate this use. Then later we could implement
this functionality correctly.
While troubleshooting this issue, I found that in some cases our
integration tests were not being run when we expected it.
This fixes #53459
* Change warning
* Fix weird sanity test error
* Add a comment to the deprecate-test
Diffstat (limited to 'test/integration/targets/xml')
-rw-r--r-- | test/integration/targets/xml/tasks/test-get-element-content.yml | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/test/integration/targets/xml/tasks/test-get-element-content.yml b/test/integration/targets/xml/tasks/test-get-element-content.yml index 893003eec7..58ca7767e7 100644 --- a/test/integration/targets/xml/tasks/test-get-element-content.yml +++ b/test/integration/targets/xml/tasks/test-get-element-content.yml @@ -16,7 +16,27 @@ assert: that: - get_element_attribute.changed == false - - get_element_attribute.matches[0]['rating'] is defined and get_element_attribute.matches[0]['rating']['subjective'] == 'true' + - get_element_attribute.matches[0]['rating'] is defined + - get_element_attribute.matches[0]['rating']['subjective'] == 'true' + + # TODO: Remove this in Ansible v2.12 when this incorrect use of attribute is deprecated + - name: Get element attributes + xml: + path: /tmp/ansible-xml-beers.xml + xpath: /business/rating + content: attribute + attribute: subjective + register: get_element_attribute_wrong + + - name: Test expected result + assert: + that: + - get_element_attribute_wrong.changed == false + - get_element_attribute_wrong.matches[0]['rating'] is defined + - get_element_attribute_wrong.matches[0]['rating']['subjective'] == 'true' + - get_element_attribute_wrong.deprecations is defined + - get_element_attribute_wrong.deprecations[0].msg == "Parameter 'attribute=subjective' is ignored when using 'content=attribute' only 'xpath' is used. Please remove entry." + - get_element_attribute_wrong.deprecations[0].version == '2.12' - name: Get element text xml: |