Exemple #1
0
    def _run_test(self):
        try:
            database_resource = provision.DatabaseResource(
                self.DRIVER, provision_new_database=True)
        except exception.BackendNotAvailable:
            self.skip("database not available")

        schema_resource = provision.SchemaResource(database_resource,
                                                   self._gen_schema)

        schema = schema_resource.getResource()

        conn = schema.database.engine.connect()
        engine = utils.NonCommittingEngine(conn)

        with engine.connect() as conn:
            rows = conn.execute(self.test_table.select())
            self.assertEqual([], rows.fetchall())

            trans = conn.begin()
            conn.execute(self.test_table.insert(), {"x": 1, "y": 2})
            trans.rollback()

            rows = conn.execute(self.test_table.select())
            self.assertEqual([], rows.fetchall())

            trans = conn.begin()
            conn.execute(self.test_table.insert(), {"x": 2, "y": 3})
            trans.commit()

            rows = conn.execute(self.test_table.select())
            self.assertEqual([(2, 3)], rows.fetchall())

        engine._dispose()
        schema_resource.finishedWith(schema)
Exemple #2
0
 def make(self, dependency_resources):
     conn = dependency_resources['database'].engine.connect()
     return utils.NonCommittingEngine(conn)
Exemple #3
0
 def setup_for_reset(self, engine, facade):
     conn = engine.connect()
     engine = utils.NonCommittingEngine(conn)
     self._reset_engine = enginefacade._TestTransactionFactory.apply_engine(
         engine, facade)