summaryrefslogtreecommitdiff
path: root/test/integration/targets/win_async_wrapper
diff options
context:
space:
mode:
authorDag Wieers <dag@wieers.com>2017-02-24 08:08:19 +0100
committerMatt Davis <nitzmahone@users.noreply.github.com>2017-02-23 23:08:19 -0800
commitaebf6c8c926719dbe743c2d4b11da62838d70ff8 (patch)
tree6982639b4344063e0b022e4a424955474a97ee97 /test/integration/targets/win_async_wrapper
parent01afed4dc5c8e055f06b18385634d3d1e9741441 (diff)
downloadansible-aebf6c8c926719dbe743c2d4b11da62838d70ff8.tar.gz
powershell.ps1: Ensure Fail-Json() works with Hashtables (#21697)
Without this change a dictionary $result object would be emptied if it is anything but a PSCustomObject. Now we also support Hashtables.
Diffstat (limited to 'test/integration/targets/win_async_wrapper')
-rw-r--r--test/integration/targets/win_async_wrapper/library/async_test.ps120
-rw-r--r--test/integration/targets/win_async_wrapper/tasks/main.yml2
2 files changed, 13 insertions, 9 deletions
diff --git a/test/integration/targets/win_async_wrapper/library/async_test.ps1 b/test/integration/targets/win_async_wrapper/library/async_test.ps1
index 3b891b9fac..63dbf86ca9 100644
--- a/test/integration/targets/win_async_wrapper/library/async_test.ps1
+++ b/test/integration/targets/win_async_wrapper/library/async_test.ps1
@@ -19,14 +19,18 @@
$parsed_args = Parse-Args $args
-$sleep_delay_sec = Get-AnsibleParam $parsed_args "sleep_delay_sec" -default 0
-$fail_mode = Get-AnsibleParam $parsed_args "fail_mode" -default "success" -validateset "success","graceful","exception"
+$sleep_delay_sec = Get-AnsibleParam -obj $parsed_args -name "sleep_delay_sec" -type "int" -default 0
+$fail_mode = Get-AnsibleParam -obj $parsed_args -name "fail_mode" -type "str" -default "success" -validateset "success","graceful","exception"
If($fail_mode -isnot [array]) {
$fail_mode = @($fail_mode)
}
-$result = @{changed=$true; module_pid=$pid; module_tempdir=$PSScriptRoot}
+$result = @{
+ changed = $true
+ module_pid = $pid
+ module_tempdir = $PSScriptRoot
+}
If($sleep_delay_sec -gt 0) {
Sleep -Seconds $sleep_delay_sec
@@ -37,13 +41,13 @@ If($fail_mode -contains "leading_junk") {
Write-Output "leading junk before module output"
}
-Try {
+If($fail_mode -contains "graceful") {
+ Fail-Json $result "failed gracefully"
+}
- If($fail_mode -contains "graceful") {
- Fail-Json $result "failed gracefully"
- }
+Try {
- If($fail_mode -eq "exception") {
+ If($fail_mode -contains "exception") {
Throw "failing via exception"
}
diff --git a/test/integration/targets/win_async_wrapper/tasks/main.yml b/test/integration/targets/win_async_wrapper/tasks/main.yml
index 582197a4dd..8a2fd351ab 100644
--- a/test/integration/targets/win_async_wrapper/tasks/main.yml
+++ b/test/integration/targets/win_async_wrapper/tasks/main.yml
@@ -116,7 +116,7 @@
that:
- asyncresult.ansible_job_id is match('\d+\.\d+')
- asyncresult.finished == 1
- - asyncresult.changed == false
+ - asyncresult.changed == true
- asyncresult | failed == true
- asyncresult.msg == 'failed gracefully'