def test__str__(self): d = DotDict() d.a = 1 d.b = True d.c = 10/3.0 d.d = DotDict() d.d.a = 'String' d.d.b = u'Péter' d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 output = str(d) expected_output = '\n'.join([ 'a: 1', 'b: True', 'c: %r' % (10/3.0,), '\td.a: %r' % 'String', '\td.b: %r' % u'Péter', '\td.c: 6', '\t\td.d.a: 7', '\te.a: 8', ]) self.assertEqual(output, expected_output)
def test_arbitrary_object_to_string(self): function = converters.py_obj_to_str self.assertEqual(function(None), '') self.assertEqual(function('hello'), 'hello') config = DotDict() config.a = 17 config.b = 23 a = Alpha(config) self.assertEqual(converters.arbitrary_object_to_string(a), "I am an instance of an Alpha object") a = AlphaBad1(config) self.assertEqual(converters.arbitrary_object_to_string(a), "int") a = AlphaBad2(config) self.assertEqual(converters.arbitrary_object_to_string(a), "int") a = AlphaBad3(config) self.assertEqual(converters.arbitrary_object_to_string(a), "int") self.assertEqual(converters.arbitrary_object_to_string(IndexError), "IndexError") self.assertEqual(converters.arbitrary_object_to_string(Beta), "configman.tests.test_converters.Beta") from configman import tests as tests_module self.assertEqual(function(tests_module), 'configman.tests')
def test_overlay_config_2(self): n = config_manager.Namespace() n.add_option('a') n.a.default = 1 n.a.doc = 'the a' n.b = 17 n.c = c = config_manager.Namespace() c.x = 'fred' c.y = 3.14159 c.add_option('z') c.z.default = 99 c.z.doc = 'the 99' c = config_manager.ConfigurationManager([n], use_admin_controls=False, #use_config_files=False, use_auto_help=False, argv_source=[]) o = {"a": 2, "c.z": 22, "c.x": 'noob', "c.y": "2.89", "n": "not here"} c.overlay_config_recurse(o, ignore_mismatches=True) d = c.get_config() e = DotDict() e.a = 2 e.b = 17 e.c = DotDict() e.c.x = 'noob' e.c.y = 2.89 e.c.z = 22 self.assertEqual(d, e)
def test_dot_lookup(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d["a"], 1) self.assertEqual(d["b"], 2) self.assertEqual(d["c"], 3) self.assertEqual(d["d.a"], 4) self.assertEqual(d["d.b"], 5) self.assertEqual(d["d.c"], 6) self.assertEqual(d["d.d.a"], 7) self.assertEqual(d["e.a"], 8) self.assertTrue(isinstance(d["d"], DotDict)) self.assertTrue(isinstance(d["d.d"], DotDict)) self.assertRaises(KeyError, d.__getitem__, "x") self.assertRaises(KeyError, d.__getitem__, "d.x") self.assertRaises(KeyError, d.__getitem__, "d.d.x")
def test_dot_lookup(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d['a'], 1) self.assertEqual(d['b'], 2) self.assertEqual(d['c'], 3) self.assertEqual(d['d.a'], 4) self.assertEqual(d['d.b'], 5) self.assertEqual(d['d.c'], 6) self.assertEqual(d['d.d.a'], 7) self.assertEqual(d['e.a'], 8) self.assertTrue(isinstance(d['d'], DotDict)) self.assertTrue(isinstance(d['d.d'], DotDict)) self.assertRaises(KeyError, d.__getitem__, 'x') self.assertRaises(KeyError, d.__getitem__, 'd.x') self.assertRaises(KeyError, d.__getitem__, 'd.d.x')
def test__str__(self): d = DotDict() d.a = 1 d.b = True d.c = 10 / 3.0 d.d = DotDict() d.d.a = 'String' d.d.b = u'Péter' d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 output = str(d) expected_output = '\n'.join([ 'a: 1', 'b: True', 'c: %r' % (10 / 3.0, ), '\td.a: %r' % 'String', '\td.b: %r' % u'Péter', '\td.c: 6', '\t\td.d.a: 7', '\te.a: 8', ]) self.assertEqual(output, expected_output)
def _fake_processed_crash(self): d = DotDict() # these keys survive redaction d.a = DotDict() d.a.b = DotDict() d.a.b.c = 11 d.sensitive = DotDict() d.sensitive.x = 2 d.not_url = 'not a url' return d
def _fake_processed_crash(self): d = DotDict() # these keys survive redaction d.a = DotDict() d.a.b = DotDict() d.a.b.c = 11 d.sensitive = DotDict() d.sensitive.x = 2 d.not_url = 'not a url' return d
def test_get_config_1(self): n = config_manager.Namespace() n.add_option('a', 1, 'the a') n.add_option('b', 17) c = config_manager.ConfigurationManager( [n], use_admin_controls=False, #use_config_files=False, use_auto_help=False, argv_source=[] ) d = c.get_config() e = DotDict() e.a = 1 e.b = 17 self.assertEqual(d, e)
def test_parent(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d.parent("d.d.a"), d["d.d"]) self.assertTrue(d.parent("d") is None)
def test_parent(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d.parent('d.d.a'), d['d.d']) self.assertTrue(d.parent('d') is None)
def test_parent(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d.parent('d.d.a'), d['d.d']) self.assertTrue(d.parent('d') is None)
def test_keys_breadth_first(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 expected = ["a", "b", "c", "d.a", "d.b", "d.c", "d.d.a", "e.a"] actual = [x for x in d.keys_breadth_first()] actual.sort() self.assertEqual(expected, actual)
def test_keys_breadth_first(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 expected = ['a', 'b', 'c', 'd.a', 'd.b', 'd.c', 'd.d.a', 'e.a'] actual = [x for x in d.keys_breadth_first()] actual.sort() self.assertEqual(expected, actual)
def test_keys_breadth_first(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 expected = ['a', 'b', 'c', 'd.a', 'd.b', 'd.c', 'd.d.a', 'e.a'] actual = [x for x in d.keys_breadth_first()] actual.sort() self.assertEqual(expected, actual)
def test_dot_lookup(self): d = DotDict() d.a = 1 d.b = 2 d.c = 3 d.d = DotDict() d.d.a = 4 d.d.b = 5 d.d.c = 6 d.d.d = DotDict() d.d.d.a = 7 d.e = DotDict() d.e.a = 8 self.assertEqual(d['a'], 1) self.assertEqual(d['b'], 2) self.assertEqual(d['c'], 3) self.assertEqual(d['d.a'], 4) self.assertEqual(d['d.b'], 5) self.assertEqual(d['d.c'], 6) self.assertEqual(d['d.d.a'], 7) self.assertEqual(d['e.a'], 8) self.assertTrue(isinstance(d['d'], DotDict)) self.assertTrue(isinstance(d['d.d'], DotDict)) self.assertRaises( KeyError, d.__getitem__, 'x' ) self.assertRaises( KeyError, d.__getitem__, 'd.x' ) self.assertRaises( KeyError, d.__getitem__, 'd.d.x' )
def test_arbitrary_object_to_string(self): function = converters.py_obj_to_str self.assertEqual(function(None), '') self.assertEqual(function('hello'), 'hello') config = DotDict() config.a = 17 config.b = 23 a = Alpha(config) self.assertEqual( converters.arbitrary_object_to_string(a), "I am an instance of an Alpha object" ) a = AlphaBad1(config) self.assertEqual( converters.arbitrary_object_to_string(a), "int" ) a = AlphaBad2(config) self.assertEqual( converters.arbitrary_object_to_string(a), "int" ) a = AlphaBad3(config) self.assertEqual( converters.arbitrary_object_to_string(a), "int" ) self.assertEqual( converters.arbitrary_object_to_string(IndexError), "IndexError" ) self.assertEqual( converters.arbitrary_object_to_string(Beta), "configman.tests.test_converters.Beta" ) from configman import tests as tests_module self.assertEqual(function(tests_module), 'configman.tests')
def test_get_config_2(self): n = config_manager.Namespace() n.add_option('a', 1, 'the a') n.b = 17 n.c = c = config_manager.Namespace() c.x = 'fred' c.y = 3.14159 c.add_option('z', 99, 'the 99') c = config_manager.ConfigurationManager( [n], use_admin_controls=False, #use_config_files=False, use_auto_help=False, argv_source=[] ) d = c.get_config() e = DotDict() e.a = 1 e.b = 17 e.c = DotDict() e.c.x = 'fred' e.c.y = 3.14159 e.c.z = 99 self.assertEqual(d, e)