code: def process_statement(self, execute_observed):
      stmt = execute_observed.statements[0]
      if self.statement != stmt.statement or (
          self.params is not None and self.params != stmt.parameters
      ):
          self.consume_statement = True
          self.errormessage = (
              "Testing for exact SQL %s parameters %s received %s %s"
              % (
                  self.statement,
                  self.params,
                  stmt.statement,
                  stmt.parameters,
              )
          )
      else:
          execute_observed.statements.pop(0)
          self.is_consumed = True
          if not execute_observed.statements:
              self.consume_statement = True
  
imports: from __future__ import annotations
  import collections
  import contextlib
  import itertools
  import re
  from ..None import event
  from ..engine import url
  from ..engine.default import DefaultDialect
  from ..schema import BaseDDLElement
label_desc: Use image node_id 2 for calling the CursorSQL obj's underlying member method code with example usage: obj.process_statement(execute_observed) without return types