We no longer need to support Python 2, so there's no point in this compatibility layer. Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com> (cherry picked from commit b34de57813187f1781aef733468c9745a144d9af)
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
try:
|
|
from unittest import mock
|
|
except ImportError:
|
|
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)
|