24 lines
710 B
Python
24 lines
710 B
Python
import unittest
|
|
|
|
from settings import merge_settings
|
|
|
|
|
|
class MergeSettingsTests(unittest.TestCase):
|
|
def test_recursive_merge(self):
|
|
self.assertEqual(
|
|
merge_settings({"s": {"host": "x", "port": 80}}, {"s": {"port": 443}}),
|
|
{"s": {"host": "x", "port": 443}},
|
|
)
|
|
|
|
def test_inputs_and_outputs_do_not_alias(self):
|
|
base = {"s": {"host": "x"}, "flags": {"safe": True}}
|
|
overlay = {"s": {"port": 443}}
|
|
merged = merge_settings(base, overlay)
|
|
merged["s"]["host"] = "changed"
|
|
merged["flags"]["safe"] = False
|
|
self.assertEqual(base, {"s": {"host": "x"}, "flags": {"safe": True}})
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|