code: def test_object_info_request(self):
      msg = self.msg(
          "object_info_request",
          {
              "oname": "foo",
              "detail_level": 1,
          },
      )
      v4, v5 = self.adapt(msg)
      self.assertEqual(v5["header"]["msg_type"], "inspect_request")
      v4c = v4["content"]
      v5c = v5["content"]
      self.assertEqual(v5c["code"], v4c["oname"])
      self.assertEqual(v5c["cursor_pos"], len(v4c["oname"]))
      self.assertEqual(v5c["detail_level"], v4c["detail_level"])
  
imports: import copy
  import json
  from unittest import TestCase
  from jupyter_client.adapter import V4toV5, adapt, code_to_line
  from jupyter_client.session import Session
label_desc: Use image node_id 9 for calling the V4toV5TestCase obj's underlying member method code with example usage: obj.test_object_info_request() without return types