test helper: add support for check and diff modes (#9666)
parent
439da9e6da
commit
c0f57b5c62
|
@ -72,7 +72,13 @@ class Helper(object):
|
||||||
"""
|
"""
|
||||||
Run unit tests for each test case in self.test_cases
|
Run unit tests for each test case in self.test_cases
|
||||||
"""
|
"""
|
||||||
patch_ansible_module(test_case.input)
|
args = {}
|
||||||
|
args.update(test_case.input)
|
||||||
|
if test_case.flags.get("check"):
|
||||||
|
args["_ansible_check_mode"] = test_case.flags.get("check")
|
||||||
|
if test_case.flags.get("diff"):
|
||||||
|
args["_ansible_diff"] = test_case.flags.get("diff")
|
||||||
|
patch_ansible_module(args)
|
||||||
self.runner.run(mocker, capfd, test_case)
|
self.runner.run(mocker, capfd, test_case)
|
||||||
|
|
||||||
self.add_func_to_test_module("test_module", _test_module)
|
self.add_func_to_test_module("test_module", _test_module)
|
||||||
|
|
|
@ -39,8 +39,15 @@ test_cases:
|
||||||
output:
|
output:
|
||||||
handler: google-chrome.desktop
|
handler: google-chrome.desktop
|
||||||
changed: true
|
changed: true
|
||||||
|
stdout: Module executed in check mode
|
||||||
|
diff:
|
||||||
|
before:
|
||||||
|
handler: null
|
||||||
|
after:
|
||||||
|
handler: google-chrome.desktop
|
||||||
flags:
|
flags:
|
||||||
skip: test helper does not support check mode yet
|
check: true
|
||||||
|
diff: true
|
||||||
mocks:
|
mocks:
|
||||||
run_command:
|
run_command:
|
||||||
- command: [/testbin/gio, --version]
|
- command: [/testbin/gio, --version]
|
||||||
|
@ -54,11 +61,6 @@ test_cases:
|
||||||
out: ''
|
out: ''
|
||||||
err: >
|
err: >
|
||||||
No default applications for “x-scheme-handler/http”
|
No default applications for “x-scheme-handler/http”
|
||||||
- command: [/testbin/gio, mime, x-scheme-handler/http, google-chrome.desktop]
|
|
||||||
environ: *env-def
|
|
||||||
rc: 0
|
|
||||||
out: "Set google-chrome.desktop as the default for x-scheme-handler/http\n"
|
|
||||||
err: ''
|
|
||||||
- id: test_set_handler_idempot
|
- id: test_set_handler_idempot
|
||||||
input:
|
input:
|
||||||
handler: google-chrome.desktop
|
handler: google-chrome.desktop
|
||||||
|
@ -89,3 +91,35 @@ test_cases:
|
||||||
google-chrome.desktop
|
google-chrome.desktop
|
||||||
firefox_firefox.desktop
|
firefox_firefox.desktop
|
||||||
err: ''
|
err: ''
|
||||||
|
- id: test_set_handler_idempot_check
|
||||||
|
input:
|
||||||
|
handler: google-chrome.desktop
|
||||||
|
mime_type: x-scheme-handler/http
|
||||||
|
output:
|
||||||
|
handler: google-chrome.desktop
|
||||||
|
changed: false
|
||||||
|
flags:
|
||||||
|
check: true
|
||||||
|
mocks:
|
||||||
|
run_command:
|
||||||
|
- command: [/testbin/gio, --version]
|
||||||
|
environ: *env-def
|
||||||
|
rc: 0
|
||||||
|
out: "2.80.0\n"
|
||||||
|
err: ''
|
||||||
|
- command: [/testbin/gio, mime, x-scheme-handler/http]
|
||||||
|
environ: *env-def
|
||||||
|
rc: 0
|
||||||
|
out: |
|
||||||
|
Default application for “x-scheme-handler/https”: google-chrome.desktop
|
||||||
|
Registered applications:
|
||||||
|
brave-browser.desktop
|
||||||
|
firefox.desktop
|
||||||
|
google-chrome.desktop
|
||||||
|
firefox_firefox.desktop
|
||||||
|
Recommended applications:
|
||||||
|
brave-browser.desktop
|
||||||
|
firefox.desktop
|
||||||
|
google-chrome.desktop
|
||||||
|
firefox_firefox.desktop
|
||||||
|
err: ''
|
||||||
|
|
Loading…
Reference in New Issue