There seems to be an undocumented function named remove() in the sqlalchemy.event module that looks like what I want, but it doesn't work:
Traceback (most recent call last): File "/home/alex/virtualenv/triancore/lib/python3.3/site-packages/nose/case.py", line 198, in runTest self.test(*self.arg) File "/home/alex/workspace/TrianCore/tests/rpc/test_eventpublisher.py", line 36, in test_stop_publisher self.publisher.stop() File "/home/alex/workspace/TrianCore/trian/core/rpc/eventpublisher.py", line 62, in stop event.remove(Session, 'after_flush', self.queue_events) File "/home/alex/virtualenv/triancore/lib/python3.3/site-packages/sqlalchemy/event.py", line 76, in remove for tgt in evt_cls._accept_with(target): nose.proxy.TypeError: 'type' object is not iterable keskiviikko, 11. syyskuuta 2013 20.16.49 UTC+3 Alex Grönholm kirjoitti: > > I'm trying to test code that listens to session events on all sessions. I > can't pin it on any particular session or even sessionmaker due to the > architecture of the software (sessions are explicitly instantiated on the > fly). > All is well except that the listener sticks after the test is done, > breaking test isolation. The ideal solution would be to unregister the > listener in teardown(), but I don't see anything in the event API that > could be used to do that. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.