code: def test_transaction_rollback(self):
      lore.io.main.execute(sql="drop table if exists tests_autocommit")
      lore.io.main.execute(
          sql="create table tests_autocommit(id integer not null primary key)"
      )
  
      lore.io.main.execute(
          sql="insert into tests_autocommit values (0)"
      )
      with self.assertRaises(sqlalchemy.exc.IntegrityError):
          with lore.io.main as transaction:
              transaction.execute(
                  sql="insert into tests_autocommit values (1), (2), (3)"
              )
              transaction.execute(
                  sql="insert into tests_autocommit values (1), (2), (3)"
              )
  
      inserted = lore.io.main_two.select(
          sql="select count(*) from tests_autocommit"
      )[0][0]
  
      self.assertEqual(inserted, 1)
  
imports: from __future__ import unicode_literals
  import unittest
  from threading import Thread
  import datetime
  import time
  import math
  import lore.io.connection
  import sqlalchemy
  from sqlalchemy import event
  from sqlalchemy.engine import Engine
  import pandas
  import lore
label_desc: Use image node_id 11 for calling the TestConnection obj's underlying member method code with example usage: obj.test_transaction_rollback() without return types