code: def test_insert_into(self, postgres_handler_mock):
      df = pd.DataFrame(
          {
              "id": ["id1", "id2", "id3"],
              "content": [
                  "this is a test",
                  "this is a test",
                  "this is a test",
              ],
              "metadata": [
                  '{"test": "test1"}',
                  '{"test": "test2"}',
                  '{"test": "test3"}',
              ],
              "embeddings": [
                  [1.0, 2.0, 3.0],
                  [1.0, 2.0, 3.0],
                  [1.0, 2.0, 3.0],
              ],
          }
      )
      df2 = pd.DataFrame(
          {
              "id": ["id4", "id5", "id6"],
              "content": [
                  "this is a test",
                  "this is a test",
                  "this is a test",
              ],
              "metadata": [
                  {"test": "test1"},
                  {"test": "test2"},
                  {"test": "test3"},
              ],
              "embeddings": [
                  [1.0, 2.0, 3.0],
                  [1.0, 2.0, 4.0],
                  [5.0, 2.0, 3.0],
              ],
          }
      )
      self.set_handler(
          postgres_handler_mock, "pg", tables={"df": df, "df2": df2}
      )
      # create a table
      sql = """
              CREATE TABLE xata_test.testingtable (SELECT * FROM pg.df)
          """
      self.drop_table("testingtable")
      self.run_sql(sql)
      # insert into a table with values
      sql = """
              INSERT INTO xata_test.testingtable (id,content,metadata,embeddings)
              VALUES ('some_unique_id', 'this is a test', '{"test": "test"}', '[1.0, 2.0, 3.0]')
          """
      self.run_sql(sql)
      self.get_num_records("testingtable") == 4
      # insert without specifying id should also work
      sql = """
              INSERT INTO xata_test.testingtable (content,metadata,embeddings)
              VALUES ('this is a test', '{"test": "test"}', '[1.0, 2.0, 3.0]')
          """
      self.run_sql(sql)
      self.get_num_records("testingtable") == 5
      # insert into a table with a select statement
      sql = """
              INSERT INTO xata_test.testingtable (content,metadata,embeddings)
              SELECT content,metadata,embeddings FROM pg.df2
          """
      self.run_sql(sql)
      self.get_num_records("testingtable") == 8
      # insert into a table with a select statement, but wrong columns
      with pytest.raises(Exception):
          sql = """
                  INSERT INTO xata_test.testingtable
                  SELECT (content,metadata,embeddings as wrong_column) FROM pg.df
              """
          self.run_sql(sql)
      # insert into a table with a select statement, missing metadata column
      sql = """
              INSERT INTO xata_test.testingtable
              SELECT content,embeddings FROM pg.df
          """
      self.run_sql(sql)
      self.get_num_records("testingtable") == 11
      # insert into a table with a select statement, with different embedding dimensions, shall raise an error
      sql = """
              INSERT INTO xata_test.testingtable
              VALUES ('this is a test', '{"test": "test"}', '[1.0, 2.0, 3.0, 4.0]')
          """
      with pytest.raises(Exception):
          self.run_sql(sql)
      self.drop_table("testingtable")
  
imports: import os
  import importlib
  from unittest.mock import patch
  import pandas
  import pytest
  from mindsdb_sql import parse_sql
  from mindsdb.tests.unit.executor_test_base import BaseExecutorTest
label_desc: Use image node_id 9 for calling the TestXetaHandler obj's underlying member method code with example usage: obj.test_insert_into(postgres_handler_mock) without return types