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)
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)
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)
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()}))