|
1 | 1 | import unittest
|
2 | 2 |
|
3 |
| -from netjsonconfig.utils import merge_config |
| 3 | +from netjsonconfig.utils import evaluate_vars, merge_config |
4 | 4 |
|
5 | 5 |
|
6 | 6 | class TestUtils(unittest.TestCase):
|
@@ -109,3 +109,27 @@ def test_merge_list_of_dicts_unchanged(self):
|
109 | 109 | {"c": "original"}
|
110 | 110 | ]
|
111 | 111 | })
|
| 112 | + |
| 113 | + def test_evaluate_vars(self): |
| 114 | + self.assertEqual(evaluate_vars('{{ tz }}', {'tz': 'UTC'}), 'UTC') |
| 115 | + self.assertEqual(evaluate_vars('tz: {{ tz }}', {'tz': 'UTC'}), 'tz: UTC') |
| 116 | + |
| 117 | + def test_evaluate_vars_missing(self): |
| 118 | + self.assertEqual(evaluate_vars('{{ tz }}'), '{{ tz }}') |
| 119 | + self.assertEqual(evaluate_vars('tz: {{ tz }}'), 'tz: {{ tz }}') |
| 120 | + |
| 121 | + def test_evaluate_vars_dict(self): |
| 122 | + val = evaluate_vars({'timezone': '{{ tz }}'}, {'tz': 'UTC'}) |
| 123 | + self.assertEqual(val, {'timezone': 'UTC'}) |
| 124 | + |
| 125 | + def test_evaluate_vars_nested_dict(self): |
| 126 | + val = evaluate_vars({'general': {'timezone': '{{ tz }}'}}, {'tz': 'UTC'}) |
| 127 | + self.assertEqual(val, {'general': {'timezone': 'UTC'}}) |
| 128 | + |
| 129 | + def test_evaluate_vars_list(self): |
| 130 | + val = evaluate_vars(['{{ a }}', '{{ b }}'], {'a': '1', 'b': '2'}) |
| 131 | + self.assertEqual(val, ['1', '2']) |
| 132 | + |
| 133 | + def test_evaluate_vars_list_in_dict(self): |
| 134 | + val = evaluate_vars({'l': ['{{ a }}', '{{ b }}']}, {'a': '1', 'b': '2'}) |
| 135 | + self.assertEqual(val, {'l': ['1', '2']}) |
0 commit comments