docstr: Test _proto_to_dict() to deserialize protobuf with nested protobufs
code: def test_nested_protobufs(self):
      """Test _proto_to_dict() to deserialize protobuf with nested protobufs"""
      num_replicas = 111
      max_concurrent_queries = 222
      min_replicas = 333
      proto = DeploymentConfigProto(
          num_replicas=num_replicas,
          max_concurrent_queries=max_concurrent_queries,
          autoscaling_config=AutoscalingConfigProto(
              min_replicas=min_replicas,
          ),
      )
      result = _proto_to_dict(proto)
  
      # Non-empty field is filled correctly.
      assert result["num_replicas"] == num_replicas
      assert result["max_concurrent_queries"] == max_concurrent_queries
  
      # Nested protobuf is filled correctly.
      assert (
          result["autoscaling_config"]["min_replicas"] == min_replicas
      )
  
imports: import pytest
  from ray import cloudpickle
  from ray._private.pydantic_compat import ValidationError
  from ray._private.utils import import_attr
  from ray.serve._private.config import DeploymentConfig, ReplicaConfig, _proto_to_dict
  from ray.serve._private.constants import DEFAULT_AUTOSCALING_POLICY, DEFAULT_GRPC_PORT
  from ray.serve._private.utils import DEFAULT
  from ray.serve.autoscaling_policy import default_autoscaling_policy
  from ray.serve.config import AutoscalingConfig, DeploymentMode, HTTPOptions, ProxyLocation, gRPCOptions
  from ray.serve.generated.serve_pb2 import AutoscalingConfig
  from ray.serve.generated.serve_pb2 import DeploymentConfig
  from ray.serve.generated.serve_pb2 import DeploymentLanguage
  from ray.serve.generated.serve_pb2_grpc import add_UserDefinedServiceServicer_to_server
  from ray.serve.schema import DeploymentSchema, HTTPOptionsSchema, ServeApplicationSchema, ServeDeploySchema
label_desc: Use image node_id 3 for calling the TestProtoToDict obj's underlying member method code with example usage: obj.test_nested_protobufs() without return types