code: def testUnnest_KeyIsRequired(self):
      @resolver_function.resolver_function
      def f(root):
          return ops.Unnest(root)
  
      input_node = resolver_op.DictNode({})
  
      with self.assertRaisesRegex(
          ValueError, "Required property key is missing"
      ):
          f.trace(input_node)
  
file_path: tfx/tfx/dsl/input_resolution/ops/unnest_op_test.py
imports: import tensorflow
  from tfx.dsl.input_resolution import resolver_function
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.orchestration.portable.input_resolution import exceptions
label_desc: Use image node_id 3 for calling the UnnestOpTest obj's underlying member method code with example usage: obj.testUnnest_KeyIsRequired() and returns: ops