code: def testExecutionWatcher_LocalWithEmptyUpdates(self):
      req = execution_watcher_pb2.UpdateExecutionInfoRequest()
      with self.assertRaisesRegex(
          grpc.RpcError, "not tracked"
      ) as exception_context:
          self.stub.UpdateExecutionInfo(req)
      self.assertIs(
          grpc.StatusCode.NOT_FOUND, exception_context.exception.code()
      )
  
file_path: tfx/tfx/orchestration/portable/execution_watcher_test.py
imports: import os
  import grpc
  import portpicker
  import tensorflow
  from tfx.orchestration import metadata
  from tfx.orchestration.portable import execution_publish_utils
  from tfx.orchestration.portable import execution_watcher
  from tfx.proto.orchestration import execution_watcher_pb2
  from tfx.utils import test_case_utils
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 3 for calling the ExecutionWatcherTest obj's underlying member method code with example usage: obj.testExecutionWatcher_LocalWithEmptyUpdates() without return types