code: def test_index_already_exist(self):
      query = "CREATE INDEX testCreateIndexName ON testCreateIndexFeatTable (feat) USING FAISS;"
      execute_query_fetch_all(self.evadb, query)
  
      self.assertEqual(
          self.evadb.catalog()
          .get_index_catalog_entry_by_name("testCreateIndexName")
          .type,
          VectorStoreType.FAISS,
      )
  
      # Should throw error without if_not_exists.
      query = "CREATE INDEX testCreateIndexName ON testCreateIndexFeatTable (feat) USING FAISS;"
      with self.assertRaises(ExecutorError):
          execute_query_fetch_all(self.evadb, query)
  
      # Should not create index but without throwing errors.
      query = "CREATE INDEX IF NOT EXISTS testCreateIndexName ON testCreateIndexFeatTable (feat) USING QDRANT;"
      execute_query_fetch_all(self.evadb, query)
  
      self.assertEqual(
          self.evadb.catalog()
          .get_index_catalog_entry_by_name("testCreateIndexName")
          .type,
          VectorStoreType.FAISS,
      )
  
imports: import unittest
  from pathlib import Path
  from test.markers import macos_skip_marker
  from test.util import get_evadb_for_testing, load_functions_for_testing
  import numpy
  import pandas
  import pytest
  from evadb.catalog.catalog_type import VectorStoreType
  from evadb.executor.executor_utils import ExecutorError
  from evadb.models.storage.batch import Batch
  from evadb.server.command_handler import execute_query_fetch_all
  from evadb.storage.storage_engine import StorageEngine
  from evadb.utils.generic_utils import try_to_import_faiss
label_desc: Use image node_id 5 for calling the CreateIndexTest obj's underlying member method code with example usage: obj.test_index_already_exist() without return types