mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-27 10:40:22 -07:00
New Module: gio_mime (#7271)
* gio_mime: new module * multiple changes - fixed gio_mime module utils handler detection - add message to test helper assertion - add unit test * gio mime output uses unicode smart quotes * test helper: do not use skip/xfail reason messages - break in old pytest * Update plugins/modules/gio_mime.py Co-authored-by: Felix Fontein <felix@fontein.de> * change exist variables to meet standards --------- Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
c3fd14e18f
commit
9489a1ea1c
12 changed files with 239 additions and 3 deletions
|
@ -51,9 +51,9 @@ class _BaseContext(object):
|
|||
|
||||
test_flags = self.test_flags()
|
||||
if test_flags.get("skip"):
|
||||
pytest.skip(reason=test_flags["skip"])
|
||||
pytest.skip()
|
||||
if test_flags.get("xfail"):
|
||||
pytest.xfail(reason=test_flags["xfail"])
|
||||
pytest.xfail()
|
||||
|
||||
func()
|
||||
|
||||
|
@ -90,7 +90,7 @@ class _RunCmdContext(_BaseContext):
|
|||
print("call args list =\n%s" % call_args_list)
|
||||
print("expected args list =\n%s" % expected_call_args_list)
|
||||
|
||||
assert self.mock_run_cmd.call_count == len(self.run_cmd_calls)
|
||||
assert self.mock_run_cmd.call_count == len(self.run_cmd_calls), "{0} != {1}".format(self.mock_run_cmd.call_count, len(self.run_cmd_calls))
|
||||
if self.mock_run_cmd.call_count:
|
||||
assert call_args_list == expected_call_args_list
|
||||
|
||||
|
|
16
tests/unit/plugins/modules/test_gio_mime.py
Normal file
16
tests/unit/plugins/modules/test_gio_mime.py
Normal file
|
@ -0,0 +1,16 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Alexei Znamensky (russoz@gmail.com)
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
|
||||
from ansible_collections.community.general.plugins.modules import gio_mime
|
||||
from .helper import Helper
|
||||
|
||||
|
||||
helper = Helper.from_file(gio_mime.main, "tests/unit/plugins/modules/test_gio_mime.yaml")
|
||||
patch_bin = helper.cmd_fixture
|
||||
test_module = helper.test_module
|
70
tests/unit/plugins/modules/test_gio_mime.yaml
Normal file
70
tests/unit/plugins/modules/test_gio_mime.yaml
Normal file
|
@ -0,0 +1,70 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) Alexei Znamensky (russoz@gmail.com)
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
---
|
||||
- id: test_set_handler
|
||||
input:
|
||||
handler: google-chrome.desktop
|
||||
mime_type: x-scheme-handler/http
|
||||
output:
|
||||
handler: google-chrome.desktop
|
||||
changed: true
|
||||
run_command_calls:
|
||||
- command: [/testbin/gio, mime, x-scheme-handler/http]
|
||||
environ: &env-def {environ_update: {LANGUAGE: C, LC_ALL: C}, check_rc: true}
|
||||
rc: 0
|
||||
out: ""
|
||||
err: >
|
||||
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_check
|
||||
input:
|
||||
handler: google-chrome.desktop
|
||||
mime_type: x-scheme-handler/http
|
||||
output:
|
||||
handler: google-chrome.desktop
|
||||
changed: true
|
||||
flags:
|
||||
skip: test helper does not support check mode yet
|
||||
run_command_calls:
|
||||
- command: [/testbin/gio, mime, x-scheme-handler/http]
|
||||
environ: *env-def
|
||||
rc: 0
|
||||
out: ""
|
||||
err: >
|
||||
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
|
||||
input:
|
||||
handler: google-chrome.desktop
|
||||
mime_type: x-scheme-handler/http
|
||||
output:
|
||||
handler: google-chrome.desktop
|
||||
changed: false
|
||||
run_command_calls:
|
||||
- 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…
Add table
Add a link
Reference in a new issue