def test_merge_dict(self): """merge configuration from dict""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': { 'h': 4 }, 'f': [5, 6], 'g': [7, 8] } }) cd.merge_dict({ 'a': 11, 'z': 99, 'b': { 'c': 22, 'e': { 'y': 999 }, 'g': [77, 88], } }) self.assertEquals(cd.a, 11) self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3) self.assertEquals(cd.b.e.h, 4) self.assertEquals(cd.b.e.y, 999) self.assertEquals(cd.b.f, [5, 6]) self.assertEquals(cd.b.g, [77, 88]) self.assertEquals(cd.z, 99)
def test_merge_dict(self): """merge configuration from dict""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'h': 4}, 'f': [5,6], 'g': [7,8] } }) cd.merge_dict({ 'a': 11, 'z': 99, 'b': { 'c': 22, 'e': {'y': 999}, 'g': [77,88], } }) self.assertEquals(cd.a,11) self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3) self.assertEquals(cd.b.e.h, 4) self.assertEquals(cd.b.e.y, 999) self.assertEquals(cd.b.f, [5,6]) self.assertEquals(cd.b.g, [77, 88]) self.assertEquals(cd.z,99)
def test_from_dict(self): """create ConfigDict from dict""" cd = ConfigDict.from_dict({ 'x': 1, 'y': { 'z': 2, 'w': [1,2, {'v': 22}] } }) self.assertEquals(cd.x, 1) self.assertEquals(cd['x'], 1) self.assertEquals(cd.y.z, 2) self.assertEquals(cd['y']['z'], 2) self.assertEquals(cd.y.w[2].v, 22) self.assertEquals(cd['y']['w'][2]['v'], 22)
def test_from_dict(self): """create ConfigDict from dict""" cd = ConfigDict.from_dict({ 'x': 1, 'y': { 'z': 2, 'w': [1, 2, { 'v': 22 }] } }) self.assertEquals(cd.x, 1) self.assertEquals(cd['x'], 1) self.assertEquals(cd.y.z, 2) self.assertEquals(cd['y']['z'], 2) self.assertEquals(cd.y.w[2].v, 22) self.assertEquals(cd['y']['w'][2]['v'], 22)
def test_merge_configparser(self): """merge configuration from ini""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, } }) schema = Schema({ 'a': Coerce(int), 'z': basestring, 'b': { 'c': Coerce(int) } }, extra=True) cd.register_trigger( SchemaTrigger(schema) ) cfg = ConfigParser() cfg.read_string(u""" [main] a = 11 z = 99 [b] c = 22 """) cd.merge_configparser(cfg) cd.configure() self.assertEquals(cd.a,11) self.assertEquals(cd.z, '99') self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3)
def test_merge_json(self): """merge configuration from json""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': { 'h': 4 }, 'f': [5, 6], 'g': [7, 8] } }) cd.merge_json("""{ "a": 11, "z": 99, /* here is a comment */ "b": { "c": 22, "e": {"y": 999}, // another sort of comment "g": [77,88] } /* this might be a rather long type of comment that spans several lines... */ }""") self.assertEquals(cd.a, 11) self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3) self.assertEquals(cd.b.e.h, 4) self.assertEquals(cd.b.e.y, 999) self.assertEquals(cd.b.f, [5, 6]) self.assertEquals(cd.b.g, [77, 88]) self.assertEquals(cd.z, 99)
def test_merge_configparser(self): """merge configuration from ini""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, } }) schema = Schema( { 'a': Coerce(int), 'z': basestring, 'b': { 'c': Coerce(int) } }, extra=True) cd.register_trigger(SchemaTrigger(schema)) cfg = ConfigParser() cfg.read_string(u""" [main] a = 11 z = 99 [b] c = 22 """) cd.merge_configparser(cfg) cd.configure() self.assertEquals(cd.a, 11) self.assertEquals(cd.z, '99') self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3)
def test_merge_json(self): """merge configuration from json""" cd = ConfigDict.from_dict({ 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'h': 4}, 'f': [5,6], 'g': [7,8] } }) cd.merge_json("""{ "a": 11, "z": 99, /* here is a comment */ "b": { "c": 22, "e": {"y": 999}, // another sort of comment "g": [77,88] } /* this might be a rather long type of comment that spans several lines... */ }""") self.assertEquals(cd.a,11) self.assertEquals(cd.b.c, 22) self.assertEquals(cd.b.d, 3) self.assertEquals(cd.b.e.h, 4) self.assertEquals(cd.b.e.y, 999) self.assertEquals(cd.b.f, [5,6]) self.assertEquals(cd.b.g, [77, 88]) self.assertEquals(cd.z,99)