def test_setdefault_without_previous_value(self): config = Configuration({ 'nested': {} }) config.setdefault('foo', 1) self.assertEqual(config.get('foo'), 1) config.setdefault('nested.foo', 2) self.assertEqual(config.get('nested.foo'), 2)
def test_contains(self): config = Configuration({"a": {"b": 1}}) self.assertTrue("a" in config) self.assertFalse("foo" in config) view = config.get("a") self.assertTrue("b" in view) self.assertFalse("foo" in view)
def test_contains(self): config = Configuration({'a': {'b': 1}}) self.assertTrue('a' in config) self.assertFalse('foo' in config) view = config.get('a') self.assertTrue('b' in view) self.assertFalse('foo' in view)
def test_env_replacement(self): config = Configuration({ 'replace': 'prefix_$(env.FOO_BAR)_suffix', 'type_conversion': 'prefix_$(env.FOURTYTWO)', 'keep_int': '$(env.FOURTYTWO)', 'keep_dict': '$(env.DICT)', 'no_parens': '$env.FOO_BAR', 'no_namespace': '$(FOO_BAR)', 'nested': '$(var.nested.foo)', 'dashes': '$(var.dashed-name)', }, env={ 'FOO_BAR': '42', 'FOURTYTWO': 42, 'DICT': {}, }, var=Configuration({ 'dashed-name': True, 'nested': { 'foo': 1764, } })) self.assertEqual(config.get('replace'), 'prefix_42_suffix') self.assertEqual(config.get('type_conversion'), 'prefix_42') self.assertEqual(config.get('keep_int'), 42) self.assertEqual(config.get('keep_dict'), {}) self.assertEqual(config.get('no_parens'), '$env.FOO_BAR') self.assertEqual(config.get('no_namespace'), '$(FOO_BAR)') self.assertEqual(config.get('nested'), 1764) self.assertEqual(config.get('dashes'), True)
def test_get_missing_key(self): config = Configuration({'a': {'b': 1}, 'c': None}) self.assertIsNone(config.get('x')) self.assertEqual(config.get('x', 2), 2) self.assertIsNone(config.get('x.x'), None) self.assertEqual(config.get('x.x', 2), 2) self.assertIsNone(config.get('c.x'), None) self.assertEqual(config.get('c.x', 2), 2)
def test_get_missing_key(self): config = Configuration({"a": {"b": 1}, "c": None}) self.assertIsNone(config.get("x")) self.assertEqual(config.get("x", 2), 2) self.assertIsNone(config.get("x.x"), None) self.assertEqual(config.get("x.x", 2), 2) self.assertIsNone(config.get("c.x"), None) self.assertEqual(config.get("c.x", 2), 2)
def test_env_replacement(self): config = Configuration( { "replace": "prefix_$(env.FOO_BAR)_suffix", "type_conversion": "prefix_$(env.FOURTYTWO)", "keep_int": "$(env.FOURTYTWO)", "keep_dict": "$(env.DICT)", "no_parens": "$env.FOO_BAR", "no_namespace": "$(FOO_BAR)", "nested": "$(var.nested.foo)", "dashes": "$(var.dashed-name)", }, env={"FOO_BAR": "42", "FOURTYTWO": 42, "DICT": {}}, var=Configuration({"dashed-name": True, "nested": {"foo": 1764}}), ) self.assertEqual(config.get("replace"), "prefix_42_suffix") self.assertEqual(config.get("type_conversion"), "prefix_42") self.assertEqual(config.get("keep_int"), 42) self.assertEqual(config.get("keep_dict"), {}) self.assertEqual(config.get("no_parens"), "$env.FOO_BAR") self.assertEqual(config.get("no_namespace"), "$(FOO_BAR)") self.assertEqual(config.get("nested"), 1764) self.assertEqual(config.get("dashes"), True)
def test_update(self): config = Configuration({'a': 1, 'b': {'c': 2}}) config.update({'a': 2}) self.assertEqual(config.get('a'), 2) self.assertEqual(config.get('b.c'), 2)
def test_config_view_get(self): config = Configuration({"namespace": {"values": {"foo": 42}}}) config_view = config.get("namespace") self.assertEqual(config_view.get("values.foo"), 42)
def test_update(self): config = Configuration({"a": 1, "b": {"c": 2}}) config.update({"a": 2}) self.assertEqual(config.get("a"), 2) self.assertEqual(config.get("b.c"), 2)
def test_setdefault_with_previous_value(self): config = Configuration({"foo": 1, "nested": {"foo": 2}}) config.setdefault("foo", 0) self.assertEqual(config.get("foo"), 1) config.setdefault("nested.foo", 0) self.assertEqual(config.get("nested.foo"), 2)
def test_config_view_get(self): config = Configuration({'namespace': {'values': {'foo': 42}}}) config_view = config.get('namespace') self.assertEqual(config_view.get('values.foo'), 42)