Switch to FullArgSpec since Py 3.11 no longer has ArgSpec, deprecated since Py 3.0

Signed-off-by: Pedro Algarvio <palgarvio@vmware.com>
This commit is contained in:
Pedro Algarvio 2023-02-22 07:50:11 +00:00 committed by Pedro Algarvio
parent b8e3a0adca
commit 7d57774710

View file

@ -4,7 +4,7 @@
import logging
from inspect import ArgSpec
from inspect import FullArgSpec
import salt.states.module as module
from tests.support.mixins import LoaderModuleMockMixin
@ -117,11 +117,25 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
@classmethod
def setUpClass(cls):
cls.aspec = ArgSpec(
args=["hello", "world"], varargs=None, keywords=None, defaults=False
cls.aspec = FullArgSpec(
args=["hello", "world"],
varargs=None,
varkw=None,
defaults=False,
kwonlyargs=None,
kwonlydefaults=None,
annotations=None,
)
cls.bspec = ArgSpec(args=[], varargs="names", keywords="kwargs", defaults=None)
cls.bspec = FullArgSpec(
args=[],
varargs="names",
varkw=None,
defaults=None,
kwonlyargs="kwargs",
kwonlydefaults=None,
annotations=None,
)
@classmethod
def tearDownClass(cls):
@ -137,8 +151,8 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
module.__opts__, {"use_superseded": ["module.run"]}
):
ret = module.run(**{CMD: None})
if ret["comment"] != "Unavailable function: {}.".format(CMD) or ret["result"]:
self.fail("module.run did not fail as expected: {}".format(ret))
if ret["comment"] != f"Unavailable function: {CMD}." or ret["result"]:
self.fail(f"module.run did not fail as expected: {ret}")
def test_run_module_not_available_testmode(self):
"""
@ -151,10 +165,10 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
):
ret = module.run(**{CMD: None})
if (
ret["comment"] != "Unavailable function: {}.".format(CMD)
ret["comment"] != f"Unavailable function: {CMD}."
or ret["result"] is not False
):
self.fail("module.run did not fail as expected: {}".format(ret))
self.fail(f"module.run did not fail as expected: {ret}")
def test_run_module_noop(self):
"""
@ -166,7 +180,7 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
):
ret = module.run()
if ret["comment"] != "No function provided." or ret["result"] is not False:
self.fail("module.run did not fail as expected: {}".format(ret))
self.fail(f"module.run did not fail as expected: {ret}")
def test_module_run_hidden_varargs(self):
"""
@ -189,10 +203,10 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
):
ret = module.run(**{CMD: None})
if (
ret["comment"] != "Function {} to be executed.".format(CMD)
ret["comment"] != f"Function {CMD} to be executed."
or ret["result"] is not None
):
self.fail("module.run failed: {}".format(ret))
self.fail(f"module.run failed: {ret}")
def test_run_missing_arg(self):
"""
@ -203,9 +217,7 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
module.__opts__, {"use_superseded": ["module.run"]}
):
ret = module.run(**{CMD: None})
self.assertEqual(
ret["comment"], "'{}' failed: Missing arguments: name".format(CMD)
)
self.assertEqual(ret["comment"], f"'{CMD}' failed: Missing arguments: name")
def test_run_correct_arg(self):
"""
@ -216,8 +228,8 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
module.__opts__, {"use_superseded": ["module.run"]}
):
ret = module.run(**{CMD: ["Fred"]})
if ret["comment"] != "{}: Success".format(CMD) or not ret["result"]:
self.fail("module.run failed: {}".format(ret))
if ret["comment"] != f"{CMD}: Success" or not ret["result"]:
self.fail(f"module.run failed: {ret}")
def test_run_state_apply_result_false(self):
"""
@ -294,9 +306,7 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
):
ret = module.run(**{CMD: ["bla", {"example": "bla"}]})
self.assertFalse(ret["result"])
self.assertEqual(
ret["comment"], "'{}' failed: Missing arguments: arg2".format(CMD)
)
self.assertEqual(ret["comment"], f"'{CMD}' failed: Missing arguments: arg2")
def test_run_42270_kwargs_to_args(self):
"""
@ -390,9 +400,7 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
with patch.dict(module.__salt__, {}, clear=True):
ret = module._legacy_run(CMD)
self.assertFalse(ret["result"])
self.assertEqual(
ret["comment"], "Module function {} is not available".format(CMD)
)
self.assertEqual(ret["comment"], f"Module function {CMD} is not available")
def test_module_run_test_true(self):
"""
@ -400,9 +408,7 @@ class ModuleStateTest(TestCase, LoaderModuleMockMixin):
"""
with patch.dict(module.__opts__, {"test": True}):
ret = module._legacy_run(CMD)
self.assertEqual(
ret["comment"], "Module function {} is set to execute".format(CMD)
)
self.assertEqual(ret["comment"], f"Module function {CMD} is set to execute")
def test_module_run_missing_arg(self):
"""