code: def testServeExecutionDigestsWithEndGreaterThanBeginFullRange(self):
      _generate_tfdbg_v2_data(self.logdir)
      run = self._getExactlyOneRun()
      response = self.server.get(
          _ROUTE_PREFIX
          + "/execution/digests?run=%s&begin=0&end=3" % run
      )
      self.assertEqual(200, response.status_code)
      self.assertEqual(
          "application/json", response.headers.get("content-type")
      )
      data = json.loads(response.get_data())
      self.assertEqual(data["begin"], 0)
      self.assertEqual(data["end"], 3)
      self.assertEqual(data["num_digests"], 3)
      execution_digests = data["execution_digests"]
      self.assertLen(execution_digests, 3)
      prev_wall_time = 0
      for execution_digest in execution_digests:
          self.assertGreaterEqual(
              execution_digest["wall_time"], prev_wall_time
          )
          prev_wall_time = execution_digest["wall_time"]
          self.assertStartsWith(
              execution_digest["op_type"], "__inference_my_function"
          )
  
imports: import collections
  import json
  import os
  import socket
  import threading
  import tensorflow
  from werkzeug import test
  from werkzeug import wrappers
  from tensorboard.backend import application
  from tensorboard.plugins import base_plugin
  from tensorboard.plugins.debugger_v2 import debug_data_multiplexer
  from tensorboard.plugins.debugger_v2 import debugger_v2_plugin
label_desc: Use image node_id 19 for calling the DebuggerV2PluginTest obj's underlying member method code with example usage: obj.testServeExecutionDigestsWithEndGreaterThanBeginFullRange() without return types