| 1637 | class ResetFixture: |
| 1638 | @testing.fixture() |
| 1639 | def reset_agent(self, testing_engine): |
| 1640 | engine = testing_engine() |
| 1641 | engine.connect().close() |
| 1642 | |
| 1643 | harness = mock.Mock( |
| 1644 | do_rollback=mock.Mock(side_effect=testing.db.dialect.do_rollback), |
| 1645 | do_commit=mock.Mock(side_effect=testing.db.dialect.do_commit), |
| 1646 | engine=engine, |
| 1647 | ) |
| 1648 | event.listen(engine, "rollback", harness.rollback) |
| 1649 | event.listen(engine, "commit", harness.commit) |
| 1650 | event.listen(engine, "rollback_savepoint", harness.rollback_savepoint) |
| 1651 | event.listen(engine, "rollback_twophase", harness.rollback_twophase) |
| 1652 | event.listen(engine, "commit_twophase", harness.commit_twophase) |
| 1653 | |
| 1654 | with ( |
| 1655 | mock.patch.object( |
| 1656 | engine.dialect, "do_rollback", harness.do_rollback |
| 1657 | ), |
| 1658 | mock.patch.object(engine.dialect, "do_commit", harness.do_commit), |
| 1659 | ): |
| 1660 | yield harness |
| 1661 | |
| 1662 | event.remove(engine, "rollback", harness.rollback) |
| 1663 | event.remove(engine, "commit", harness.commit) |
| 1664 | event.remove(engine, "rollback_savepoint", harness.rollback_savepoint) |
| 1665 | event.remove(engine, "rollback_twophase", harness.rollback_twophase) |
| 1666 | event.remove(engine, "commit_twophase", harness.commit_twophase) |
| 1667 | |
| 1668 | |
| 1669 | class ResetAgentTest(ResetFixture, fixtures.TestBase): |