Example #1
0
 def test_proxy_transaction_commit(self):
     context = self._fixture(
         {"transaction_per_migration": True, "transactional_ddl": True}
     )
     proxy = context.begin_transaction(_per_migration=True)
     is_true(self.conn.in_transaction())
     proxy.commit()
     is_false(self.conn.in_transaction())
Example #2
0
    def test_transaction_per_all_transactional_ddl(self):
        context = self._fixture({"transactional_ddl": True})

        is_false(self.conn.in_transaction())

        with context.begin_transaction():
            is_true(self.conn.in_transaction())
            with context.begin_transaction(_per_migration=True):
                is_true(self.conn.in_transaction())

            is_true(self.conn.in_transaction())
        is_false(self.conn.in_transaction())
Example #3
0
    def test_proxy_transaction_contextmanager_rollback(self):
        context = self._fixture(
            {"transaction_per_migration": True, "transactional_ddl": True}
        )
        proxy = context.begin_transaction(_per_migration=True)
        is_true(self.conn.in_transaction())

        def go():
            with proxy:
                raise Exception("hi")

        assert_raises(Exception, go)
        is_false(self.conn.in_transaction())
Example #4
0
    def test_proxy_transaction_contextmanager_explicit_rollback(self):
        context = self._fixture({
            "transaction_per_migration": True,
            "transactional_ddl": True
        })
        proxy = context.begin_transaction(_per_migration=True)
        is_true(self.conn.in_transaction())

        with proxy:
            is_true(self.conn.in_transaction())
            proxy.rollback()
            is_false(self.conn.in_transaction())

        is_false(self.conn.in_transaction())
Example #5
0
    def test_autocommit_block(self):
        context = self._fixture({"transaction_per_migration": True})

        is_false(self.conn.in_transaction())

        with context.begin_transaction():
            is_false(self.conn.in_transaction())
            with context.begin_transaction(_per_migration=True):
                is_true(self.conn.in_transaction())

                with context.autocommit_block():
                    is_false(self.conn.in_transaction())

                is_true(self.conn.in_transaction())

            is_false(self.conn.in_transaction())
        is_false(self.conn.in_transaction())
Example #6
0
 def test_doesnt_create_alembic_version(self):
     command.current(self.cfg)
     engine = self.bind
     with engine.connect() as conn:
         is_false(_connectable_has_table(conn, "alembic_version", None))