code: def test_retrieve_msg_load_gpu(self, socket_patches):
      expected = {
          "modelName": b"model_name",
          "modelPath": b"model_path",
          "batchSize": 1,
          "handler": b"handler",
          "gpu": 1,
          "envelope": b"envelope",
          "limitMaxImagePixels": True,
      }
  
      socket_patches.socket.recv.side_effect = [
          b"L",
          b"\x00\x00\x00\x0a",
          b"model_name",
          b"\x00\x00\x00\x0a",
          b"model_path",
          b"\x00\x00\x00\x01",
          b"\x00\x00\x00\x07",
          b"handler",
          b"\x00\x00\x00\x01",
          b"\x00\x00\x00\x08",
          b"envelope",
          b"\x01",
      ]
      cmd, ret = codec.retrieve_msg(socket_patches.socket)
  
      assert cmd == b"L"
      assert ret == expected
  
file_path: serve/ts/tests/unit_tests/test_otf_codec_protocol.py
imports: import struct
  from builtins import bytes
  from collections import namedtuple
  import pytest
  import ts.protocol.otf_message_handler
label_desc: Use image node_id 2 for calling the TestOtfCodecHandler obj's underlying member method code with example usage: obj.test_retrieve_msg_load_gpu(socket_patches) without return types