class_docstr: Test HubOp import
code: def test_import(self):
      namespaces = [att for att in dir(ops) if not att.startswith("__")]
  
      # test __call__
      for n in namespaces:
          getattr(ops, n)()
  
      futures = []
      with ThreadPoolExecutor(max_workers=5) as pool:
          for ns in namespaces:
              op_names = [
                  op_name
                  for op_name in dir(getattr(ops, ns))
                  if not op_name.startswith("__")
              ]
              for name in op_names:
                  op = getattr(getattr(ops, ns), name)()
                  author, repo = op.name.split("/")
                  futures.append(
                      pool.submit(
                          HubUtils(author, repo).branch_tree, op.tag
                      )
                  )
  
      for f in futures:
          self.assertIsNotNone(f.result())
  
imports: import unittest
  from concurrent.futures import ThreadPoolExecutor
  from towhee import ops
  from towhee.utils.hub_utils import HubUtils
label_desc: Use image node_id 1 for calling the TestHubOp obj's underlying member method code with example usage: obj.test_import() without return types