You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/connection_winrm/tests.yml

84 lines
2.3 KiB
YAML

---
- name: test out Windows WinRM specific tests
hosts: windows
force_handlers: yes
serial: 1
gather_facts: no
tasks:
- name: reboot the host
ansible.windows.win_reboot:
- name: setup remote tmp dir
import_role:
name: ../../setup_remote_tmp_dir
- name: copy across empty file
win_copy:
content: ''
dest: '{{ remote_tmp_dir }}\empty.txt'
register: winrm_copy_empty
- name: get result of copy across empty file
win_stat:
path: '{{ remote_tmp_dir }}\empty.txt'
register: winrm_copy_empty_actual
- name: assert copy across empty file
assert:
that:
- winrm_copy_empty is changed
- winrm_copy_empty_actual.stat.size == 0
# Ensures the connection plugin can handle a timeout
# without raising another error.
- name: run command with timeout
win_shell: Start-Sleep -Seconds 10
timeout: 5
register: timeout_cmd
ignore_errors: true
- assert:
that:
- timeout_cmd.msg == 'The win_shell action failed to execute in the expected time frame (5) and was terminated'
- name: Test WinRM HTTP connection
win_ping:
vars:
ansible_port: 5985
ansible_winrm_scheme: http
ansible_winrm_transport: ntlm # Verifies message encryption over HTTP
- name: Test WinRM HTTPS connection
win_ping:
vars:
ansible_port: 5986
ansible_winrm_scheme: https
ansible_winrm_server_cert_validation: ignore
- name: get WinRM quota value
win_shell: (Get-Item WSMan:\localhost\Service\MaxConcurrentOperationsPerUser).Value
changed_when: false
register: winrm_quota
- block:
- name: set WinRM quota to lower value
win_shell: Set-Item WSMan:\localhost\Service\MaxConcurrentOperationsPerUser 3
- name: run ping with loop to exceed quota
win_ping:
loop: '{{ range(0, 4) }}'
always:
- name: reset WinRM quota value
win_shell: Set-Item WSMan:\localhost\Service\MaxConcurrentOperationsPerUser {{ winrm_quota.stdout | trim }}
- name: emit raw CLIXML on stderr with special chars
raw: $host.UI.WriteErrorLine("Test 🎵 _x005F_ _x005Z_.")
register: stderr_clixml
- name: assert emit raw CLIXML on stderr with special chars
assert:
that:
- stderr_clixml.stderr_lines == ['Test 🎵 _x005F_ _x005Z_.']