def get_mock_config(config_dict=None): """Returns a protobuf Config object from topology_pb2""" if config_dict is None: return topology_pb2.Config() proto_config = topology_pb2.Config() config_serializer = PythonSerializer() assert isinstance(config_dict, dict) for key, value in config_dict.iteritems(): if isinstance(value, bool): kvs = proto_config.kvs.add() kvs.key = key kvs.value = "true" if value else "false" kvs.type = topology_pb2.ConfigValueType.Value("STRING_VALUE") elif isinstance(value, (str, int, float)): kvs = proto_config.kvs.add() kvs.key = key kvs.value = str(value) kvs.type = topology_pb2.ConfigValueType.Value("STRING_VALUE") else: kvs = proto_config.kvs.add() kvs.key = key kvs.serialized_value = config_serializer.serialize(value) kvs.type = topology_pb2.ConfigValueType.Value("PYTHON_SERIALIZED_VALUE") return proto_config
def get_mock_config(config_dict=None): """Returns a protobuf Config object from topology_pb2""" if config_dict is None: return topology_pb2.Config() proto_config = topology_pb2.Config() config_serializer = PythonSerializer() assert isinstance(config_dict, dict) for key, value in config_dict.iteritems(): if isinstance(value, bool): kvs = proto_config.kvs.add() kvs.key = key kvs.value = "true" if value else "false" kvs.type = topology_pb2.ConfigValueType.Value("STRING_VALUE") elif isinstance(value, (str, int, float)): kvs = proto_config.kvs.add() kvs.key = key kvs.value = str(value) kvs.type = topology_pb2.ConfigValueType.Value("STRING_VALUE") else: kvs = proto_config.kvs.add() kvs.key = key kvs.serialized_value = config_serializer.serialize(value) kvs.type = topology_pb2.ConfigValueType.Value( "PYTHON_SERIALIZED_VALUE") return proto_config
def test_py_serializer(self): serializer = PythonSerializer() serializer.initialize() # Test with a list of primitive types for obj in mock_generator.prim_list: serialized = serializer.serialize(obj) self.assertIsInstance(serialized, str) deserialized = serializer.deserialize(serialized) self.assertEqual(deserialized, obj)