summaryrefslogtreecommitdiff
path: root/cloudinit/tests/test_conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/tests/test_conftest.py')
-rw-r--r--cloudinit/tests/test_conftest.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/cloudinit/tests/test_conftest.py b/cloudinit/tests/test_conftest.py
index b39637d8..773ef8fe 100644
--- a/cloudinit/tests/test_conftest.py
+++ b/cloudinit/tests/test_conftest.py
@@ -21,6 +21,25 @@ class TestDisableSubpUsage:
def test_subp_usage_can_be_reenabled(self):
util.subp(['whoami'])
+ @pytest.mark.parametrize(
+ 'disable_subp_usage', [['whoami'], 'whoami'], indirect=True)
+ def test_subp_usage_can_be_conditionally_reenabled(self):
+ # The two parameters test each potential invocation with a single
+ # argument
+ with pytest.raises(AssertionError) as excinfo:
+ util.subp(["some", "args"])
+ assert "allowed: whoami" in str(excinfo.value)
+ util.subp(['whoami'])
+
+ @pytest.mark.parametrize(
+ 'disable_subp_usage', [['whoami', 'bash']], indirect=True)
+ def test_subp_usage_can_be_conditionally_reenabled_for_multiple_cmds(self):
+ with pytest.raises(AssertionError) as excinfo:
+ util.subp(["some", "args"])
+ assert "allowed: whoami,bash" in str(excinfo.value)
+ util.subp(['bash', '-c', 'true'])
+ util.subp(['whoami'])
+
class TestDisableSubpUsageInTestSubclass(CiTestCase):
"""Test that disable_subp_usage doesn't impact CiTestCase's subp logic."""