From 38de9af6bd243d35464713e0ee790255d3b40a7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Su=C3=A1rez=20Hern=C3=A1ndez?= Date: Fri, 23 Jun 2023 13:02:51 +0100 Subject: [PATCH] Fix some issues detected in "salt-support" CLI, module and tests (bsc#1211591) (#580) * saltsupport: avoid debug traceback due missing import * Use yaml and json wrappers provides by Salt utils * Remove unnecessary call to deprecated setup_logfile_logger * Move unittest saltsupport tests to proper place * Fix test assertion error due wrong capturing of message --- salt/cli/support/__init__.py | 4 ++-- salt/cli/support/collector.py | 6 ++---- tests/{pytests => }/unit/cli/test_support.py | 0 tests/unit/modules/test_saltsupport.py | 6 +++--- 4 files changed, 7 insertions(+), 9 deletions(-) rename tests/{pytests => }/unit/cli/test_support.py (100%) diff --git a/salt/cli/support/__init__.py b/salt/cli/support/__init__.py index 59c2609e07..0a7da72e93 100644 --- a/salt/cli/support/__init__.py +++ b/salt/cli/support/__init__.py @@ -6,7 +6,7 @@ import os import jinja2 import salt.exceptions -import yaml +import salt.utils.yaml log = logging.getLogger(__name__) @@ -48,7 +48,7 @@ def get_profile(profile, caller, runner): try: rendered_template = _render_profile(profile_path, caller, runner) log.debug("\n{d}\n{t}\n{d}\n".format(d="-" * 80, t=rendered_template)) - data.update(yaml.load(rendered_template)) + data.update(salt.utils.yaml.load(rendered_template)) except Exception as ex: log.debug(ex, exc_info=True) raise salt.exceptions.SaltException( diff --git a/salt/cli/support/collector.py b/salt/cli/support/collector.py index 1879cc5220..0ba987580c 100644 --- a/salt/cli/support/collector.py +++ b/salt/cli/support/collector.py @@ -1,6 +1,5 @@ import builtins as exceptions import copy -import json import logging import os import sys @@ -16,10 +15,10 @@ import salt.cli.support.intfunc import salt.cli.support.localrunner import salt.defaults.exitcodes import salt.exceptions -import salt.ext.six as six import salt.output.table_out import salt.runner import salt.utils.files +import salt.utils.json import salt.utils.parsers import salt.utils.platform import salt.utils.process @@ -169,7 +168,7 @@ class SupportDataCollector: content = None if content is None: - data = json.loads(json.dumps(data)) + data = salt.utils.json.loads(salt.utils.json.dumps(data)) if isinstance(data, dict) and data.get("return"): data = data.get("return") content = yaml.safe_dump(data, default_flow_style=False, indent=4) @@ -506,7 +505,6 @@ class SaltSupport(salt.utils.parsers.SaltSupportOptionParser): self.out.error(ex) else: if self.config["log_level"] not in ("quiet",): - self.setup_logfile_logger() salt.utils.verify.verify_log(self.config) salt.cli.support.log = log # Pass update logger so trace is available diff --git a/tests/pytests/unit/cli/test_support.py b/tests/unit/cli/test_support.py similarity index 100% rename from tests/pytests/unit/cli/test_support.py rename to tests/unit/cli/test_support.py diff --git a/tests/unit/modules/test_saltsupport.py b/tests/unit/modules/test_saltsupport.py index 4ef04246b9..2afdd69b3e 100644 --- a/tests/unit/modules/test_saltsupport.py +++ b/tests/unit/modules/test_saltsupport.py @@ -251,8 +251,8 @@ professor: Farnsworth with pytest.raises(salt.exceptions.SaltInvocationError) as err: support.sync("group-name") assert ( - ' Support archive "/mnt/storage/three-support-222-222.bz2" was not found' - in str(err) + 'Support archive "/mnt/storage/three-support-222-222.bz2" was not found' + in str(err.value) ) @patch("tempfile.mkstemp", MagicMock(return_value=(0, "dummy"))) @@ -274,7 +274,7 @@ professor: Farnsworth with pytest.raises(salt.exceptions.SaltInvocationError) as err: support.sync("group-name", name="lost.bz2") - assert ' Support archive "lost.bz2" was not found' in str(err) + assert 'Support archive "lost.bz2" was not found' in str(err.value) @patch("tempfile.mkstemp", MagicMock(return_value=(0, "dummy"))) @patch("os.path.exists", MagicMock(return_value=False)) -- 2.41.0