code: def test_job(self):
      from mindsdb.utilities.exception import (
          EntityExistsError,
          EntityNotExistsError,
      )
  
      # create a simple job
      sql = """
              CREATE JOB test_job (
                  SELECT 1
              )
          """
      self.execute(sql)
  
      # create the same job without if not exists throws an error
      with pytest.raises(EntityExistsError):
          self.execute(sql)
  
      # create the same job with if not exists doesn't throw an error
      self.execute(
          """
              CREATE JOB IF NOT EXISTS test_job (
                  SELECT 1
              )
          """
      )
  
      # create a job with if not exists should indeed create a new job
      self.execute(
          """
              CREATE JOB IF NOT EXISTS test_job2 (
                  SELECT 1
              )
          """
      )
  
      # drop the job
      sql = "DROP JOB test_job2"
      self.execute(sql)
  
      # drop again without if exists should throw an error
      with pytest.raises(EntityNotExistsError):
          self.execute(sql)
  
      # drop again with if exists should not throw an error
      self.execute("DROP JOB IF EXISTS test_job2")
  
imports: from unittest.mock import patch
  import datetime
  import tempfile
  import pytest
  import pandas
  import numpy
  from mindsdb_sql.render.sqlalchemy_render import SqlalchemyRender
  from mindsdb.api.executor.utilities.sql import query_df
  from mindsdb.api.mysql.mysql_proxy.utilities.lightwood_dtype import dtype
  from .executor_test_base import BaseExecutorMockPredictor
label_desc: Use image node_id 6 for calling the TestIfExistsIfNotExists obj's underlying member method code with example usage: obj.test_job() without return types