def test_serialize_deserialize_clients_alone(self): client_cardinalities = {placement_literals.CLIENTS: 10} cardinalities_list = executor_serialization.serialize_cardinalities( client_cardinalities) for cardinality in cardinalities_list: self.assertIsInstance( cardinality, executor_pb2.SetCardinalitiesRequest.Cardinality) reconstructed_cardinalities = executor_serialization.deserialize_cardinalities( cardinalities_list) self.assertEqual(client_cardinalities, reconstructed_cardinalities)
def SetCardinalities( self, request: executor_pb2.SetCardinalitiesRequest, context: grpc.ServicerContext, ) -> executor_pb2.SetCardinalitiesResponse: """Sets the cartinality for the executor service.""" py_typecheck.check_type(request, executor_pb2.SetCardinalitiesRequest) try: cardinalities_dict = executor_serialization.deserialize_cardinalities( request.cardinalities) self._executor = self._ex_factory.create_executor(cardinalities_dict) return executor_pb2.SetCardinalitiesResponse() except (ValueError, TypeError) as err: _set_invalid_arg_err(context, err) return executor_pb2.SetCardinalitiesResponse()
def test_serialize_deserialize_clients_and_server_cardinalities_roundtrip( self): client_and_server_cardinalities = { placements.CLIENTS: 10, placements.SERVER: 1 } cardinalities_list = executor_serialization.serialize_cardinalities( client_and_server_cardinalities) for cardinality in cardinalities_list: self.assertIsInstance(cardinality, executor_pb2.SetCardinalitiesRequest.Cardinality) reconstructed_cardinalities = executor_serialization.deserialize_cardinalities( cardinalities_list) self.assertEqual(client_and_server_cardinalities, reconstructed_cardinalities)