pungi/tests/test_config_validate_script.py
Lubomír Sedlář fddce94704 Directly import mock from unittest
It is not a separate package since Python 3.3

Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>

(cherry picked from commit 3987688de6720d951bfeb0b49c364df9738b490b)
2025-09-29 18:26:35 +03:00

46 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
from unittest import mock
import io
import os
from pungi.scripts.config_validate import cli_main
from tests import helpers
HERE = os.path.abspath(os.path.dirname(__file__))
DUMMY_CONFIG = os.path.join(HERE, "data/dummy-pungi.conf")
SCHEMA_OVERRIDE = os.path.join(HERE, "data/dummy-override.json")
class ConfigValidateScriptTest(helpers.PungiTestCase):
@mock.patch("sys.argv", new=["pungi-config-validate", DUMMY_CONFIG])
@mock.patch("sys.stderr", new_callable=io.StringIO)
@mock.patch("sys.stdout", new_callable=io.StringIO)
def test_validate_dummy_config(self, stdout, stderr):
cli_main()
self.assertEqual("", stdout.getvalue())
self.assertEqual("", stderr.getvalue())
@mock.patch(
"sys.argv",
new=[
"pungi-config-validate",
DUMMY_CONFIG,
"--schema-override",
SCHEMA_OVERRIDE,
],
)
@mock.patch("sys.stderr", new_callable=io.StringIO)
@mock.patch("sys.stdout", new_callable=io.StringIO)
@mock.patch("sys.exit")
def test_schema_override(self, exit, stdout, stderr):
cli_main()
self.assertTrue(
stdout.getvalue().startswith(
"Failed validation in pkgset_source: 'repos' is not one of"
)
)
self.assertEqual("", stderr.getvalue())
exit.assert_called_once_with(1)