code: def test_no_config_file(
      self,
      mock_os,
      mock_path_exists,
      mock_psws,
      mock_management_util,
      mock_tabpy_state,
  ):
      pkg_path = os.path.dirname(tabpy.__file__)
      obj_path = os.path.join(pkg_path, "tmp", "query_objects")
      state_path = os.path.join(pkg_path, "tabpy_server")
      mock_os.environ = {
          "TABPY_PORT": "9004",
          "TABPY_QUERY_OBJECT_PATH": obj_path,
          "TABPY_STATE_PATH": state_path,
      }
  
      TabPyApp(None)
  
      self.assertEqual(len(mock_psws.mock_calls), 1)
      self.assertEqual(len(mock_tabpy_state.mock_calls), 1)
      self.assertEqual(len(mock_path_exists.mock_calls), 1)
      self.assertTrue(len(mock_management_util.mock_calls) > 0)
      mock_os.makedirs.assert_not_called()
  
imports: import os
  import unittest
  from tempfile import NamedTemporaryFile
  import tabpy
  from tabpy.tabpy_server.app.util import validate_cert
  from tabpy.tabpy_server.app.app import TabPyApp
  from unittest.mock import patch
label_desc: Use image node_id 2 for calling the TestConfigEnvironmentCalls obj's underlying member method code with example usage: obj.test_no_config_file(mock_os, mock_path_exists, mock_psws, mock_management_util, mock_tabpy_state) without return types