code: def setUpClass(cls):
      # create state.ini dir and file
      cls.state_dir = tempfile.mkdtemp(prefix=cls.prefix)
      with open(
          os.path.join(cls.state_dir, "state.ini"), "w+"
      ) as cls.state_file:
          cls.state_file.write(
              "[Service Info]\n"
              "Name = TabPy Serve\n"
              "Description = \n"
              "Creation Time = 0\n"
              "Access-Control-Allow-Origin = \n"
              "Access-Control-Allow-Headers = \n"
              "Access-Control-Allow-Methods = \n"
              "\n"
              "[Query Objects Service Versions]\n"
              "\n"
              "[Query Objects Docstrings]\n"
              "\n"
              "[Meta]\n"
              "Revision Number = 1\n"
          )
      cls.state_file.close()
  
      # create config file
      cls.config_file = tempfile.NamedTemporaryFile(
          prefix=cls.prefix, suffix=".conf", delete=False, mode="w"
      )
      cls.config_file.write("[TabPy]\n")
      if hasattr(cls, "tabpy_config"):
          for k in cls.tabpy_config:
              cls.config_file.write(k)
      cls.config_file.close()
  
imports: import base64
  import json
  import os
  from tabpy.tabpy_server.app.app import TabPyApp
  from tabpy.tabpy_server.app.app_parameters import SettingsParameters
  import tempfile
  from tornado.testing import AsyncHTTPTestCase
label_desc: Use image node_id 3 for calling the BaseTestServiceInfoHandler obj's underlying member method code with example usage: obj.setUpClass(cls) without return types