4fe08441be
* Warn on tests used as filters * Update docs, add aliases for tests that fit more gramatically with test syntax * Fix rst formatting * Add successful filter, alias of success * Remove renamed_deprecation, it was overkill * Make directory alias for is_dir * Update tests to use proper jinja test syntax * Update additional documentation, living outside of YAML files, to reflect proper jinja test syntax * Add conversion script, porting guide updates, and changelog updates * Update newly added uses of tests as filters * No underscore variable * Convert recent tests as filter changes to win_stat * Fix some changes related to rebasing a few integration tests * Make tests_as_filters_warning explicitly accept the name of the test, instead of inferring the name * Add test for tests_as_filters_warning * Update tests as filters in newly added/modified tests * Address recent changes to several integration tests * Address recent changes in cs_vpc
128 lines
4.1 KiB
YAML
128 lines
4.1 KiB
YAML
# test code for the raw module when using winrm connection
|
||
# (c) 2014, Chris Church <chris@ninemoreminutes.com>
|
||
|
||
# This file is part of Ansible
|
||
#
|
||
# Ansible is free software: you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License as published by
|
||
# the Free Software Foundation, either version 3 of the License, or
|
||
# (at your option) any later version.
|
||
#
|
||
# Ansible is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
||
|
||
- name: run getmac
|
||
raw: getmac
|
||
register: getmac_result
|
||
|
||
- name: assert that getmac ran
|
||
assert:
|
||
that:
|
||
- "getmac_result.rc == 0"
|
||
- "getmac_result.stdout"
|
||
- "not getmac_result.stderr"
|
||
- "getmac_result is not failed"
|
||
- "getmac_result is changed"
|
||
|
||
- name: run ipconfig with /all argument
|
||
raw: ipconfig /all
|
||
register: ipconfig_result
|
||
|
||
- name: assert that ipconfig ran with /all argument
|
||
assert:
|
||
that:
|
||
- "ipconfig_result.rc == 0"
|
||
- "ipconfig_result.stdout"
|
||
- "'Physical Address' in ipconfig_result.stdout"
|
||
- "not ipconfig_result.stderr"
|
||
- "ipconfig_result is not failed"
|
||
- "ipconfig_result is changed"
|
||
|
||
- name: run ipconfig with invalid argument
|
||
raw: ipconfig /badswitch
|
||
register: ipconfig_invalid_result
|
||
ignore_errors: true
|
||
|
||
- name: assert that ipconfig with invalid argument failed
|
||
assert:
|
||
that:
|
||
- "ipconfig_invalid_result.rc != 0"
|
||
- "ipconfig_invalid_result.stdout" # ipconfig displays errors on stdout.
|
||
# - "not ipconfig_invalid_result.stderr"
|
||
- "ipconfig_invalid_result is failed"
|
||
- "ipconfig_invalid_result is changed"
|
||
|
||
- name: run an unknown command
|
||
raw: uname -a
|
||
register: unknown_result
|
||
ignore_errors: true
|
||
|
||
- name: assert that an unknown command failed
|
||
assert:
|
||
that:
|
||
- "unknown_result.rc != 0"
|
||
- "not unknown_result.stdout"
|
||
- "unknown_result.stderr" # An unknown command displays error on stderr.
|
||
- "unknown_result is failed"
|
||
- "unknown_result is changed"
|
||
|
||
- name: run a command that takes longer than 60 seconds
|
||
raw: Start-Sleep -s 75
|
||
register: sleep_command
|
||
|
||
- name: assert that the sleep command ran
|
||
assert:
|
||
that:
|
||
- "sleep_command.rc == 0"
|
||
- "not sleep_command.stdout"
|
||
- "not sleep_command.stderr"
|
||
- "sleep_command is not failed"
|
||
- "sleep_command is changed"
|
||
|
||
- name: run a raw command with key=value arguments
|
||
raw: echo wwe=raw
|
||
register: raw_result
|
||
|
||
- name: make sure raw is really raw and not removing key=value arguments
|
||
assert:
|
||
that:
|
||
- "raw_result.stdout_lines[0] == 'wwe=raw'"
|
||
|
||
# TODO: this test doesn't work anymore since we had to internally map Write-Host to Write-Output
|
||
- name: run a raw command with unicode chars and quoted args (from https://github.com/ansible/ansible-modules-core/issues/1929)
|
||
raw: Write-Host --% icacls D:\somedir\ /grant "! ЗАО. Руководство":F
|
||
register: raw_result2
|
||
|
||
- name: make sure raw passes command as-is and doesn't split/rejoin args
|
||
assert:
|
||
that:
|
||
- "raw_result2.stdout_lines[0] == '--% icacls D:\\\\somedir\\\\ /grant \"! ЗАО. Руководство\":F'"
|
||
|
||
# Assumes MaxShellsPerUser == 30 (the default)
|
||
|
||
- name: test raw + with_items to verify that winrm connection is reused for each item
|
||
raw: echo "{{item}}"
|
||
with_items: "{{range(32)|list}}"
|
||
register: raw_with_items_result
|
||
|
||
- name: check raw + with_items result
|
||
assert:
|
||
that:
|
||
- "raw_with_items_result is not failed"
|
||
- "raw_with_items_result.results|length == 32"
|
||
|
||
# TODO: this test fails, since we're back to passing raw commands without modification
|
||
#- name: test raw with job to ensure that preamble-free InputEncoding is working
|
||
# raw: Start-Job { echo yo } | Receive-Job -Wait
|
||
# register: raw_job_result
|
||
#
|
||
#- name: check raw with job result
|
||
# assert:
|
||
# that:
|
||
# - raw_job_result is successful
|
||
# - raw_job_result.stdout_lines[0] == 'yo'
|