code: def test_basic_module(self):
      save_dir = self._create_saved_model()
      files = file_io.list_directory_v2(save_dir)
  
      self.assertLen(files, 4)
      self.assertIn(constants.FINGERPRINT_FILENAME, files)
  
      fingerprint_def = self._read_fingerprint(
          file_io.join(save_dir, constants.FINGERPRINT_FILENAME)
      )
  
      # We cannot check this value due to non-determinism in saving.
      self.assertGreater(fingerprint_def.saved_model_checksum, 0)
      self.assertEqual(
          fingerprint_def.graph_def_program_hash, 14830488309055091319
      )
      self.assertEqual(
          fingerprint_def.signature_def_hash, 12089566276354592893
      )
      self.assertEqual(fingerprint_def.saved_object_graph_hash, 0)
      # TODO(b/242348400): The checkpoint hash is non-deterministic, so we cannot
      # check its value here.
      self.assertGreater(fingerprint_def.checkpoint_hash, 0)
  
imports: import os
  import shutil
  from tensorflow.core.config import flags
  from tensorflow.core.protobuf import fingerprint_pb2
  from tensorflow.core.protobuf import saved_model_pb2
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.lib.io import file_io
  from tensorflow.python.saved_model import fingerprinting
  from tensorflow.python.saved_model import fingerprinting_utils
  from tensorflow.python.saved_model import save
  from tensorflow.python.saved_model.pywrap_saved_model import constants
  from tensorflow.python.saved_model.pywrap_saved_model import fingerprinting
  from tensorflow.python.trackable import autotrackable
label_desc: Use image node_id 7 for calling the FingerprintingTest obj's underlying member method code with example usage: obj.test_basic_module() without return types