code: def testNoModificationOfExistingKeys(self):
      def bad_meta_feature_fn(_):
          return {"interest": ["bad", "key"]}
  
      with self.assertRaises(ValueError):
          with beam.Pipeline() as pipeline:
              fpls = create_fpls()
  
              _ = (
                  pipeline
                  | "CreateTestInput" >> beam.Create(fpls)
                  | "WrapFpls" >> beam.Map(wrap_fpl)
                  | "ExtractInterestsNum"
                  >> meta_feature_extractor.ExtractMetaFeature(
                      bad_meta_feature_fn
                  )
              )
  
file_path: model-analysis/tensorflow_model_analysis/extractors/legacy_meta_feature_extractor_test.py
imports: import apache_beam
  from apache_beam.testing import util
  import numpy
  import tensorflow
  from tensorflow_model_analysis import constants
  from tensorflow_model_analysis.api import types
  from tensorflow_model_analysis.eval_saved_model import testutil
  from tensorflow_model_analysis.extractors import legacy_meta_feature_extractor
  from tensorflow_model_analysis.extractors import slice_key_extractor
  from tensorflow_model_analysis.slicer import slicer_lib
label_desc: Use image node_id 2 for calling the MetaFeatureExtractorTest obj's underlying member method code with example usage: obj.testNoModificationOfExistingKeys() and returns: dict