code: def test_init(self):
      client = Client("http://example.com:9004")
  
      self.assertEqual(client._endpoint, "http://example.com:9004")
  
      client = Client("http://example.com/", 10.0)
  
      self.assertEqual(client._endpoint, "http://example.com/")
  
      client = Client(
          endpoint="https://example.com/", query_timeout=-10.0
      )
  
      self.assertEqual(client._endpoint, "https://example.com/")
      self.assertEqual(client.query_timeout, 0.0)
  
      # valid name tests
      with self.assertRaises(ValueError):
          Client("")
      with self.assertRaises(TypeError):
          Client(1.0)
      with self.assertRaises(ValueError):
          Client("*#")
      with self.assertRaises(TypeError):
          Client()
      with self.assertRaises(ValueError):
          Client("http:/www.example.com/")
      with self.assertRaises(ValueError):
          Client("httpx://www.example.com:9004")
  
file_path: TabPy/tests/unit/tools_tests/test_client.py
imports: import unittest
  from unittest.mock import Mock
  from tabpy.tabpy_tools.client import Client
  from tabpy.tabpy_tools.client import _check_endpoint_name
label_desc: Use image node_id 2 for calling the TestClient obj's underlying member method code with example usage: obj.test_init() without return types