Windows: Path integration tests (#26490)
These integration tests were used for testing the exact behaviour of Ansible for YAML-style syntax and key=value syntax. This includes fixes to win_shortcut (as `src` can be a URL too)
This commit is contained in:
parent
028ce1da15
commit
4a1864765b
3 changed files with 193 additions and 1 deletions
|
@ -228,7 +228,7 @@ Function Get-AnsibleParam($obj, $name, $default = $null, $resultobj = @{}, $fail
|
|||
# Convert string type to real Powershell array
|
||||
$value = $value.Split(",").Trim()
|
||||
} else {
|
||||
Fail-Json -obj $resultobj -message "Get-AnsibleParam: Parameter $name is not a YAML list."
|
||||
Fail-Json -obj $resultobj -message "Get-AnsibleParam: Parameter '$name' is not a YAML list."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
1
test/integration/targets/windows-paths/aliases
Normal file
1
test/integration/targets/windows-paths/aliases
Normal file
|
@ -0,0 +1 @@
|
|||
windows/ci/group1
|
191
test/integration/targets/windows-paths/tasks/main.yml
Normal file
191
test/integration/targets/windows-paths/tasks/main.yml
Normal file
|
@ -0,0 +1,191 @@
|
|||
- name: Set variables in YAML syntax
|
||||
set_fact:
|
||||
no_quotes_single: C:\Windows\Temp
|
||||
single_quotes_single: 'C:\Windows\Temp'
|
||||
# double_quotes_single: "C:\Windows\Temp"
|
||||
no_quotes_double: C:\\Windows\\Temp
|
||||
single_quotes_double: 'C:\\Windows\\Temp'
|
||||
double_quotes_double: "C:\\Windows\\Temp"
|
||||
no_quotes_slash: C:/Windows/Temp
|
||||
no_quotes_trailing: C:\Windows\Temp\
|
||||
single_quotes_trailing: 'C:\Windows\Temp\'
|
||||
# double_quotes_trailing: "C:\Windows\Temp\"
|
||||
good: C:\Windows\Temp
|
||||
works1: C:\\Windows\\Temp
|
||||
works2: C:/Windows/Temp
|
||||
# fail: "C:\Windows\Temp"
|
||||
trailing: C:\Windows\Temp\
|
||||
register: yaml_syntax
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- no_quotes_single == good
|
||||
- single_quotes_single == good
|
||||
# - double_quotes_single == fail
|
||||
- no_quotes_double == works1
|
||||
- single_quotes_double == works1
|
||||
- double_quotes_double == good
|
||||
- no_quotes_slash == works2
|
||||
- no_quotes_trailing == trailing
|
||||
- single_quotes_trailing == trailing
|
||||
# - double_quotes_trailing == fail
|
||||
- good != works1
|
||||
- good != works2
|
||||
- good != trailing
|
||||
- works1 != works2
|
||||
- works1 != trailing
|
||||
- works2 != trailing
|
||||
|
||||
- name: Test good path {{ good }}
|
||||
win_stat:
|
||||
path: '{{ good }}'
|
||||
register: good_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- good_result|success
|
||||
- good_result.stat.attributes == 'Directory'
|
||||
- good_result.stat.exists == true
|
||||
- good_result.stat.path == good
|
||||
|
||||
- name: Test works1 path {{ works1 }}
|
||||
win_stat:
|
||||
path: '{{ works1 }}'
|
||||
register: works1_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- works1_result|success
|
||||
- works1_result.stat.attributes == 'Directory'
|
||||
- works1_result.stat.exists == true
|
||||
- works1_result.stat.path == good
|
||||
|
||||
- name: Test works2 path {{ works2 }}
|
||||
win_stat:
|
||||
path: '{{ works2 }}'
|
||||
register: works2_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- works2_result|success
|
||||
- works2_result.stat.attributes == 'Directory'
|
||||
- works2_result.stat.exists == true
|
||||
- works2_result.stat.path == good
|
||||
|
||||
- name: Test trailing path {{ trailing }}
|
||||
win_stat:
|
||||
path: '{{ trailing }}'
|
||||
register: trailing_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- trailing_result|success
|
||||
- trailing_result.stat.attributes == 'Directory'
|
||||
- trailing_result.stat.exists == true
|
||||
- trailing_result.stat.path == trailing
|
||||
|
||||
- name: Set variables in key=value syntax
|
||||
set_fact:
|
||||
no_quotes_single=C:\Windows\Temp
|
||||
single_quotes_single='C:\Windows\Temp'
|
||||
double_quotes_single="C:\Windows\Temp"
|
||||
no_quotes_single_tab=C:\Windows\temp
|
||||
single_quotes_single_tab='C:\Windows\temp'
|
||||
double_quotes_single_tab="C:\Windows\temp"
|
||||
no_quotes_double=C:\\Windows\\Temp
|
||||
single_quotes_double='C:\\Windows\\Temp'
|
||||
double_quotes_double="C:\\Windows\\Temp"
|
||||
no_quotes_slash=C:/Windows/Temp
|
||||
no_quotes_trailing=C:\Windows\Temp\
|
||||
good=C:\Windows\Temp
|
||||
works1=C:\\Windows\\Temp
|
||||
works2=C:/Windows/Temp
|
||||
fail="C:\Windows\Temp"
|
||||
trailing=C:\Windows\Temp\
|
||||
tab=C:\Windows\x09emp
|
||||
eof=foobar
|
||||
# single_quotes_trailing='C:\Windows\Temp\'
|
||||
# double_quotes_trailing="C:\Windows\Temp\"
|
||||
register: legacy_syntax
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- no_quotes_single == good
|
||||
- single_quotes_single == good
|
||||
- double_quotes_single == good
|
||||
- no_quotes_double == works1
|
||||
- single_quotes_double == works1
|
||||
- double_quotes_double == works1
|
||||
- no_quotes_slash == works2
|
||||
- no_quotes_single_tab == tab
|
||||
- single_quotes_single_tab == tab
|
||||
- double_quotes_single_tab == tab
|
||||
- no_quotes_trailing == trailing
|
||||
- good == works1
|
||||
- good != works2
|
||||
- good != tab
|
||||
- good != trailing
|
||||
- works1 != works2
|
||||
- works1 != tab
|
||||
- works1 != trailing
|
||||
- works2 != tab
|
||||
- works2 != trailing
|
||||
- tab != trailing
|
||||
|
||||
- name: Test good path {{ good }}
|
||||
win_stat:
|
||||
path: '{{ good }}'
|
||||
register: good_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- good_result|success
|
||||
- good_result.stat.attributes == 'Directory'
|
||||
- good_result.stat.exists == true
|
||||
- good_result.stat.path == good
|
||||
|
||||
- name: Test works1 path {{ works1 }}
|
||||
win_stat:
|
||||
path: '{{ works1 }}'
|
||||
register: works1_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- works1_result|success
|
||||
- works1_result.stat.attributes == 'Directory'
|
||||
- works1_result.stat.exists == true
|
||||
- works1_result.stat.path == good
|
||||
|
||||
- name: Test works2 path {{ works2 }}
|
||||
win_stat:
|
||||
path: '{{ works2 }}'
|
||||
register: works2_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- works2_result|success
|
||||
- works2_result.stat.attributes == 'Directory'
|
||||
- works2_result.stat.exists == true
|
||||
- works2_result.stat.path == good
|
||||
|
||||
- name: Test trailing path {{ trailing }}
|
||||
win_stat:
|
||||
path: '{{ trailing }}'
|
||||
register: trailing_result
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- trailing_result|success
|
||||
- trailing_result.stat.attributes == 'Directory'
|
||||
- trailing_result.stat.exists == true
|
||||
- trailing_result.stat.path == trailing
|
||||
|
||||
- name: Test tab path {{ tab }}
|
||||
win_stat:
|
||||
path: '{{ tab }}'
|
||||
register: tab_result
|
||||
ignore_errors: yes
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- tab_result|failed
|
Loading…
Reference in a new issue