45
45
- name: zos_operator
46
46
zos_operator:
47
47
cmd: 'd a,all'
48
- wait_time_s : 3
48
+ wait_time : 3
49
49
verbose: true
50
50
register: output
51
51
@@ -77,22 +77,42 @@ def test_zos_operator_various_command(ansible_zos_module):
77
77
hosts = ansible_zos_module
78
78
results = hosts .all .zos_operator (cmd = command )
79
79
for result in results .contacted .values ():
80
- assert result ["rc" ] == expected_rc
80
+ print (result )
81
+ assert result .get ("rc" ) == expected_rc
81
82
assert result .get ("changed" ) is changed
83
+ assert result .get ("msg" , False ) is False
84
+ assert result .get ("cmd" ) == command
85
+ assert result .get ("elapsed" ) is not None
86
+ assert result .get ("wait_time" ) is not None
87
+ assert result .get ("time_unit" ) == "s"
88
+ assert result .get ("content" ) is not None
82
89
83
90
84
91
def test_zos_operator_invalid_command (ansible_zos_module ):
85
92
hosts = ansible_zos_module
86
93
results = hosts .all .zos_operator (cmd = "invalid,command" , verbose = False )
87
94
for result in results .contacted .values ():
95
+ print (result )
88
96
assert result .get ("changed" ) is True
97
+ assert result .get ("rc" ) == 0
98
+ assert result .get ("cmd" ) is not None
99
+ assert result .get ("elapsed" ) is not None
100
+ assert result .get ("wait_time" ) is not None
101
+ assert result .get ("time_unit" ) == "s"
102
+ assert result .get ("content" ) is not None
89
103
90
104
91
105
def test_zos_operator_invalid_command_to_ensure_transparency (ansible_zos_module ):
92
106
hosts = ansible_zos_module
93
107
results = hosts .all .zos_operator (cmd = "DUMP COMM=('ERROR DUMP')" , verbose = False )
94
108
for result in results .contacted .values ():
95
109
assert result .get ("changed" ) is True
110
+ assert result .get ("rc" ) == 0
111
+ assert result .get ("cmd" ) is not None
112
+ assert result .get ("elapsed" ) is not None
113
+ assert result .get ("wait_time" ) is not None
114
+ assert result .get ("time_unit" ) == "s"
115
+ assert result .get ("content" ) is not None
96
116
transparency = False
97
117
if any ('DUMP COMMAND' in str for str in result .get ("content" )):
98
118
transparency = True
@@ -103,17 +123,27 @@ def test_zos_operator_positive_path(ansible_zos_module):
103
123
hosts = ansible_zos_module
104
124
results = hosts .all .zos_operator (cmd = "d u,all" , verbose = False )
105
125
for result in results .contacted .values ():
106
- assert result [ "rc" ] == 0
126
+ assert result . get ( "rc" ) == 0
107
127
assert result .get ("changed" ) is True
128
+ assert result .get ("msg" , False ) is False
129
+ assert result .get ("cmd" ) is not None
130
+ assert result .get ("elapsed" ) is not None
131
+ assert result .get ("wait_time" ) is not None
132
+ assert result .get ("time_unit" ) == "s"
108
133
assert result .get ("content" ) is not None
109
134
110
135
111
136
def test_zos_operator_positive_path_verbose (ansible_zos_module ):
112
137
hosts = ansible_zos_module
113
138
results = hosts .all .zos_operator (cmd = "d u,all" , verbose = True )
114
139
for result in results .contacted .values ():
115
- assert result [ "rc" ] == 0
140
+ assert result . get ( "rc" ) == 0
116
141
assert result .get ("changed" ) is True
142
+ assert result .get ("msg" , False ) is False
143
+ assert result .get ("cmd" ) is not None
144
+ assert result .get ("elapsed" ) is not None
145
+ assert result .get ("wait_time" ) is not None
146
+ assert result .get ("time_unit" ) == "s"
117
147
assert result .get ("content" ) is not None
118
148
# Traverse the content list for a known verbose keyword and track state
119
149
is_verbose = False
@@ -127,45 +157,55 @@ def test_zos_operator_positive_verbose_with_full_delay(ansible_zos_module):
127
157
hosts = ansible_zos_module
128
158
wait_time = 10
129
159
results = hosts .all .zos_operator (
130
- cmd = "RO *ALL,LOG 'dummy syslog message'" , verbose = True , wait_time_s = wait_time
160
+ cmd = "RO *ALL,LOG 'dummy syslog message'" , verbose = True , wait_time = wait_time
131
161
)
132
162
133
163
for result in results .contacted .values ():
134
- assert result [ "rc" ] == 0
164
+ assert result . get ( "rc" ) == 0
135
165
assert result .get ("changed" ) is True
136
- assert result .get ("content" ) is not None
166
+ assert result .get ("msg" , False ) is False
167
+ assert result .get ("cmd" ) is not None
137
168
assert result .get ("elapsed" ) > wait_time
169
+ assert result .get ("wait_time" ) is not None
170
+ assert result .get ("time_unit" ) == "s"
171
+ assert result .get ("content" ) is not None
138
172
139
173
140
174
def test_zos_operator_positive_verbose_with_quick_delay (ansible_zos_module ):
141
175
hosts = ansible_zos_module
142
- wait_time_s = 10
176
+ wait_time = 10
143
177
results = hosts .all .zos_operator (
144
- cmd = "d u,all" , verbose = True , wait_time_s = wait_time_s
178
+ cmd = "d u,all" , verbose = True , wait_time = wait_time
145
179
)
146
180
147
181
for result in results .contacted .values ():
148
- assert result [ "rc" ] == 0
182
+ assert result . get ( "rc" ) == 0
149
183
assert result .get ("changed" ) is True
184
+ assert result .get ("msg" , False ) is False
185
+ assert result .get ("cmd" ) is not None
186
+ assert result .get ("elapsed" ) <= (2 * wait_time )
187
+ assert result .get ("wait_time" ) is not None
188
+ assert result .get ("time_unit" ) == "s"
150
189
assert result .get ("content" ) is not None
151
- # Account for slower network
152
- assert result .get ('elapsed' ) <= (2 * wait_time_s )
153
190
154
191
155
192
def test_zos_operator_positive_verbose_blocking (ansible_zos_module ):
156
193
hosts = ansible_zos_module
157
194
if is_zoau_version_higher_than (hosts ,"1.2.4.5" ):
158
- wait_time_s = 5
195
+ wait_time = 5
159
196
results = hosts .all .zos_operator (
160
- cmd = "d u,all" , verbose = True , wait_time_s = wait_time_s
197
+ cmd = "d u,all" , verbose = True , wait_time = wait_time
161
198
)
162
199
163
200
for result in results .contacted .values ():
164
- assert result [ "rc" ] == 0
201
+ assert result . get ( "rc" ) == 0
165
202
assert result .get ("changed" ) is True
203
+ assert result .get ("msg" , False ) is False
204
+ assert result .get ("cmd" ) is not None
205
+ assert result .get ("elapsed" ) >= wait_time
206
+ assert result .get ("wait_time" ) is not None
207
+ assert result .get ("time_unit" ) == "s"
166
208
assert result .get ("content" ) is not None
167
- # Account for slower network
168
- assert result .get ('elapsed' ) >= wait_time_s
169
209
170
210
171
211
def test_zos_operator_positive_path_preserve_case (ansible_zos_module ):
@@ -178,8 +218,13 @@ def test_zos_operator_positive_path_preserve_case(ansible_zos_module):
178
218
)
179
219
180
220
for result in results .contacted .values ():
181
- assert result [ "rc" ] == 0
221
+ assert result . get ( "rc" ) == 0
182
222
assert result .get ("changed" ) is True
223
+ assert result .get ("msg" , False ) is False
224
+ assert result .get ("cmd" ) is not None
225
+ assert result .get ("wait_time" ) is not None
226
+ assert result .get ("elapsed" ) is not None
227
+ assert result .get ("time_unit" ) == "s"
183
228
assert result .get ("content" ) is not None
184
229
# Making sure the output from opercmd logged the command
185
230
# exactly as it was written.
@@ -193,12 +238,34 @@ def test_response_come_back_complete(ansible_zos_module):
193
238
res = {}
194
239
res ["stdout" ] = []
195
240
for result in results .contacted .values ():
241
+ assert result .get ("rc" ) == 0
242
+ assert result .get ("changed" ) is True
243
+ assert result .get ("msg" , False ) is False
244
+ assert result .get ("cmd" ) is not None
245
+ assert result .get ("wait_time" ) is not None
246
+ assert result .get ("elapsed" ) is not None
247
+ assert result .get ("time_unit" ) == "s"
248
+ assert result .get ("content" ) is not None
196
249
stdout = result .get ('content' )
197
250
# HASP646 Only appears in the last line that before did not appears
198
251
last_line = len (stdout )
199
252
assert "HASP646" in stdout [last_line - 1 ]
200
253
201
254
255
+ def test_operator_sentiseconds (ansible_zos_module ):
256
+ hosts = ansible_zos_module
257
+ results = hosts .all .zos_operator (cmd = "d a" , time_unit = "cs" , wait_time = 100 )
258
+ for result in results .contacted .values ():
259
+ assert result .get ("rc" ) == 0
260
+ assert result .get ("changed" ) is True
261
+ assert result .get ("msg" , False ) is False
262
+ assert result .get ("cmd" ) is not None
263
+ assert result .get ("elapsed" ) is not None
264
+ assert result .get ("wait_time" ) is not None
265
+ assert result .get ("time_unit" ) == "cs"
266
+ assert result .get ("content" ) is not None
267
+
268
+
202
269
def test_zos_operator_parallel_terminal (get_config ):
203
270
path = get_config
204
271
with open (path , 'r' ) as file :
0 commit comments