summaryrefslogtreecommitdiff
path: root/test/integration/roles/test_win_ping/tasks/main.yml
blob: aa5d03c908f4974e777fd4bdf698e980ce786fae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# test code for the win_ping module
# (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: test win_ping
  action: win_ping
  register: win_ping_result

- name: check win_ping result
  assert:
    that: 
      - "not win_ping_result|failed"
      - "not win_ping_result|changed"
      - "win_ping_result.ping == 'pong'"

- name: test win_ping with data
  win_ping: data=☠
  register: win_ping_with_data_result

- name: check win_ping result with data
  assert:
    that:
      - "not win_ping_with_data_result|failed"
      - "not win_ping_with_data_result|changed"
      - "win_ping_with_data_result.ping == '☠'"

- name: test win_ping.ps1 with data as complex args
  win_ping.ps1:
    data: bleep
  register: win_ping_ps1_result

- name: check win_ping.ps1 result with data
  assert:
    that: 
      - "not win_ping_ps1_result|failed"
      - "not win_ping_ps1_result|changed"
      - "win_ping_ps1_result.ping == 'bleep'"

- name: test win_ping with extra args to verify that v2 module replacer escaping works as expected
  win_ping:
    data: bloop
    a_null: null
    a_boolean: true
    another_boolean: false
    a_number: 299792458
    another_number: 22.7
    yet_another_number: 6.022e23
    a_string: |
      it's magic
      "@'
      '@"
    an_array:
      - first
      - 2
      - 3.0
    an_object:
      - the_thing: the_value
      - the_other_thing: 0
      - the_list_of_things: [1, 2, 3, 5]
  register: win_ping_extra_args_result

- name: check that win_ping with extra args succeeds and ignores everything except data
  assert:
    that:
      - "not win_ping_extra_args_result|failed"
      - "not win_ping_extra_args_result|changed"
      - "win_ping_extra_args_result.ping == 'bloop'"

- name: test modified win_ping that throws an exception
  action: win_ping_throw
  register: win_ping_throw_result
  ignore_errors: true

- name: check win_ping_throw result
  assert:
    that:
      - "win_ping_throw_result|failed"
      - "not win_ping_throw_result|changed"
      - "win_ping_throw_result.msg == 'ScriptHalted'"
      - "win_ping_throw_result.exception"
      - "win_ping_throw_result.error_record"

- name: test modified win_ping that throws a string exception
  action: win_ping_throw_string
  register: win_ping_throw_string_result
  ignore_errors: true

- name: check win_ping_throw_string result
  assert:
    that:
      - "win_ping_throw_string_result|failed"
      - "not win_ping_throw_string_result|changed"
      - "win_ping_throw_string_result.msg == 'no ping for you'"
      - "win_ping_throw_string_result.exception"
      - "win_ping_throw_string_result.error_record"

- name: test modified win_ping that has a syntax error
  action: win_ping_syntax_error
  register: win_ping_syntax_error_result
  ignore_errors: true

- name: check win_ping_syntax_error result
  assert:
    that:
      - "win_ping_syntax_error_result|failed"
      - "not win_ping_syntax_error_result|changed"
      - "win_ping_syntax_error_result.msg"
      - "win_ping_syntax_error_result.exception"

- name: test modified win_ping that has an error that only surfaces when strict mode is on
  action: win_ping_strict_mode_error
  register: win_ping_strict_mode_error_result
  ignore_errors: true

- name: check win_ping_strict_mode_error result
  assert:
    that:
      - "win_ping_strict_mode_error_result|failed"
      - "not win_ping_strict_mode_error_result|changed"
      - "win_ping_strict_mode_error_result.msg"
      - "win_ping_strict_mode_error_result.exception"

- name: test modified win_ping to verify a Set-Attr fix
  action: win_ping_set_attr data="fixed"
  register: win_ping_set_attr_result

- name: check win_ping_set_attr_result result
  assert:
    that:
      - "not win_ping_set_attr_result|failed"
      - "not win_ping_set_attr_result|changed"
      - "win_ping_set_attr_result.ping == 'fixed'"