code: def testGetArtifactsByIdsMissingIdsRaisesError(self):
      tfx_artifacts = [
          _create_tfx_artifact("a/b/1"),
          _create_tfx_artifact("a/b/2"),
      ]
      [artifact_id1, artifact_id2] = _write_tfx_artifacts(
          self._mlmd_handle, tfx_artifacts
      )
      unknown_artifact_id = artifact_id2 + 1
      with self.assertRaisesRegex(
          ValueError, "Could not find all MLMD artifacts"
      ):
          artifact_lib.get_artifacts_by_ids(
              self._mlmd_handle,
              [artifact_id1, unknown_artifact_id, artifact_id2],
          )
  
file_path: tfx/tfx/orchestration/portable/mlmd/artifact_lib_test.py
imports: from typing import Optional, Sequence
  import tensorflow
  from tfx import types
  from tfx.orchestration import metadata
  from tfx.orchestration.portable.mlmd import artifact_lib
  from tfx.types import standard_artifacts
  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 ArtifactLibTest obj's underlying member method code with example usage: obj.testGetArtifactsByIdsMissingIdsRaisesError() without return types