code: def test_experiment_metadata_with_partial_metadata(self):
      res = data_provider_pb2.GetExperimentResponse()
      res.name = "mnist"
      self.stub.GetExperiment.return_value = res
  
      actual = self.provider.experiment_metadata(
          self.ctx, experiment_id="123"
      )
      self.assertEqual(
          actual,
          provider.ExperimentMetadata(
              experiment_name="mnist",
              experiment_description="",
              creation_time=0,
          ),
      )
  
      req = data_provider_pb2.GetExperimentRequest()
      req.experiment_id = "123"
      self.stub.GetExperiment.assert_called_once_with(req)
  
imports: from unittest import mock
  import grpc
  import grpc_testing
  import numpy
  from tensorboard import errors
  from tensorboard import test
  from tensorboard import context
  from tensorboard.data import grpc_provider
  from tensorboard.data import provider
  from tensorboard.data.proto import data_provider_pb2
  from tensorboard.data.proto import data_provider_pb2_grpc
  from tensorboard.util import tensor_util
label_desc: Use image node_id 3 for calling the GrpcDataProviderTest obj's underlying member method code with example usage: obj.test_experiment_metadata_with_partial_metadata() without return types