Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
    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)