Exemplo n.º 1
0
    def test_server_config_02(self):
        storage = immutables.Map()

        op = ops.Operation(ops.OpCode.CONFIG_ADD, config.ConfigScope.INSTANCE,
                           'ports', make_port_value(database='f1'))
        storage1 = op.apply(testspec1, storage)

        op = ops.Operation(ops.OpCode.CONFIG_ADD, config.ConfigScope.INSTANCE,
                           'ports', make_port_value(database='f2'))
        storage2 = op.apply(testspec1, storage1)

        self.assertEqual(
            config.lookup('ports', storage2, spec=testspec1), {
                Port.from_pyvalue(make_port_value(database='f1')),
                Port.from_pyvalue(make_port_value(database='f2')),
            })

        j = ops.to_json(testspec1, storage2)
        storage3 = ops.from_json(testspec1, j)
        self.assertEqual(storage3, storage2)

        op = ops.Operation(ops.OpCode.CONFIG_REM, config.ConfigScope.INSTANCE,
                           'ports', make_port_value(database='f1'))
        storage3 = op.apply(testspec1, storage2)

        self.assertEqual(config.lookup('ports', storage3, spec=testspec1), {
            Port.from_pyvalue(make_port_value(database='f2')),
        })

        op = ops.Operation(ops.OpCode.CONFIG_REM, config.ConfigScope.INSTANCE,
                           'ports', make_port_value(database='f1'))
        storage4 = op.apply(testspec1, storage3)
        self.assertEqual(storage3, storage4)
Exemplo n.º 2
0
    def test_server_config_02(self):
        storage = immutables.Map()

        op = ops.Operation(ops.OpCode.CONFIG_ADD, ops.OpLevel.SYSTEM, 'ports',
                           make_port_value(database='f1'))
        storage1 = op.apply(testspec1, storage)

        op = ops.Operation(ops.OpCode.CONFIG_ADD, ops.OpLevel.SYSTEM, 'ports',
                           make_port_value(database='f2'))
        storage2 = op.apply(testspec1, storage1)

        self.assertEqual(
            storage2['ports'], {
                Port.from_pyvalue(make_port_value(database='f1')),
                Port.from_pyvalue(make_port_value(database='f2')),
            })

        j = ops.to_json(testspec1, storage2)
        storage3 = ops.from_json(testspec1, j)
        self.assertEqual(storage3, storage2)

        op = ops.Operation(ops.OpCode.CONFIG_REM, ops.OpLevel.SYSTEM, 'ports',
                           make_port_value(database='f1'))
        storage3 = op.apply(testspec1, storage2)

        self.assertEqual(storage3['ports'], {
            Port.from_pyvalue(make_port_value(database='f2')),
        })

        op = ops.Operation(ops.OpCode.CONFIG_REM, ops.OpLevel.SYSTEM, 'ports',
                           make_port_value(database='f1'))
        storage4 = op.apply(testspec1, storage3)
        self.assertEqual(storage3, storage4)
Exemplo n.º 3
0
    def test_server_config_01(self):
        conf = immutables.Map({
            s.name: ops.SettingValue(
                name=s.name,
                value=s.default,
                source='system override',
            )
            for s in testspec1.values()
        })

        j = ops.to_json(testspec1, conf)
        self.assertEqual(
            json.loads(j), {
                'bool': {
                    'name': 'bool',
                    'value': True,
                    'source': 'system override',
                },
                'bools': {
                    'name': 'bools',
                    'value': [],
                    'source': 'system override',
                },
                'int': {
                    'name': 'int',
                    'value': 0,
                    'source': 'system override',
                },
                'ints': {
                    'name': 'ints',
                    'value': [],
                    'source': 'system override',
                },
                'port': {
                    'name': 'port',
                    'value': testspec1['port'].default.to_json_value(),
                    'source': 'system override',
                },
                'ports': {
                    'name': 'ports',
                    'value': [],
                    'source': 'system override',
                },
                'str': {
                    'name': 'str',
                    'value': 'hello',
                    'source': 'system override',
                },
                'strings': {
                    'name': 'strings',
                    'value': [],
                    'source': 'system override',
                },
            })

        self.assertEqual(ops.from_json(testspec1, j), conf)
Exemplo n.º 4
0
    def test_server_config_01(self):
        j = ops.to_json(
            testspec1,
            immutables.Map({s.name: s.default
                            for s in testspec1.values()}))

        self.assertEqual(
            json.loads(j), {
                'bool': True,
                'bools': [],
                'int': 0,
                'ints': [],
                'port': testspec1['port'].default.to_json_value(),
                'ports': [],
                'str': 'hello',
                'strings': [],
            })

        self.assertEqual(
            ops.from_json(testspec1, j),
            immutables.Map({s.name: s.default
                            for s in testspec1.values()}))