2019-06-21 07:44:48 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
try:
|
|
|
|
import unittest2 as unittest
|
|
|
|
except ImportError:
|
|
|
|
import unittest
|
|
|
|
import argparse
|
|
|
|
|
|
|
|
from parameterized import parameterized
|
|
|
|
|
|
|
|
from pungi_utils import config_utils
|
|
|
|
|
|
|
|
|
|
|
|
class TestDefineHelpers(unittest.TestCase):
|
|
|
|
@parameterized.expand(
|
|
|
|
[
|
|
|
|
([], {}),
|
|
|
|
(["foo=bar", "baz=quux"], {"foo": "bar", "baz": "quux"}),
|
|
|
|
(["foo="], {"foo": ""}),
|
|
|
|
(["foo==bar"], {"foo": "=bar"}),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
def test_extract_defines(self, input, expected):
|
|
|
|
self.assertEqual(config_utils.extract_defines(input), expected)
|
|
|
|
|
|
|
|
@parameterized.expand(["foo=bar", "foo=", "foo==bar"])
|
|
|
|
def test_validate_define_correct(self, value):
|
|
|
|
self.assertEqual(config_utils.validate_definition(value), value)
|
|
|
|
|
|
|
|
@parameterized.expand(["foo", "=", "=foo", "1=2"])
|
|
|
|
def test_validate_define_incorrect(self, value):
|
|
|
|
with self.assertRaises(argparse.ArgumentTypeError):
|
|
|
|
config_utils.validate_definition(value)
|
2019-06-25 13:13:16 +00:00
|
|
|
|
|
|
|
def test_remove_unknown(self):
|
|
|
|
conf = {"foo": "bar"}
|
|
|
|
config_utils.remove_unknown(conf, ["foo"])
|
|
|
|
self.assertEqual(conf, {})
|
|
|
|
|
|
|
|
def test_remove_known(self):
|
|
|
|
conf = {"release_name": "bar"}
|
|
|
|
config_utils.remove_unknown(conf, ["release_name"])
|
|
|
|
self.assertEqual(conf, {"release_name": "bar"})
|