summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/win_async_wrapper/library/async_test.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/win_async_wrapper/library/async_test.ps1')
-rw-r--r--test/integration/targets/win_async_wrapper/library/async_test.ps147
1 files changed, 47 insertions, 0 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
new file mode 100644
index 0000000..3b4c1c8
--- /dev/null
+++ b/test/integration/targets/win_async_wrapper/library/async_test.ps1
@@ -0,0 +1,47 @@
+#!powershell
+
+# Copyright: (c) 2018, Ansible Project
+
+#Requires -Module Ansible.ModuleUtils.Legacy
+
+$parsed_args = Parse-Args $args
+
+$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
+}
+
+If ($sleep_delay_sec -gt 0) {
+ Sleep -Seconds $sleep_delay_sec
+ $result["slept_sec"] = $sleep_delay_sec
+}
+
+If ($fail_mode -contains "leading_junk") {
+ Write-Output "leading junk before module output"
+}
+
+If ($fail_mode -contains "graceful") {
+ Fail-Json $result "failed gracefully"
+}
+
+Try {
+
+ If ($fail_mode -contains "exception") {
+ Throw "failing via exception"
+ }
+
+ Exit-Json $result
+}
+Finally {
+ If ($fail_mode -contains "trailing_junk") {
+ Write-Output "trailing junk after module output"
+ }
+}