def setUp(self): soledad_adaptor.cleanup_deferred_locks() USERID = TEST_USER def setup_server(account): self.server = TestSoledadIMAPServer(account=account, contextFactory=self.serverCTX) self.server.theAccount = account d_server_ready = defer.Deferred() self.client = SimpleClient(d_server_ready, contextFactory=self.clientCTX) self.connected = d_server_ready def setup_account(_): self.parser = parser.Parser() # XXX this should be fixed in soledad. # Soledad sync makes trial block forever. The sync it's mocked to # fix this problem. _mock_soledad_get_from_index can be used from # the tests to provide documents. # TODO see here, possibly related? # -- http://www.pythoneye.com/83_20424875/ self._soledad.sync = Mock() d = defer.Deferred() self.acc = IMAPAccount(self._soledad, USERID, d=d) return d d = super(IMAP4HelperMixin, self).setUp() d.addCallback(setup_account) d.addCallback(setup_server) return d
def setUp(self): cleanup_deferred_locks() try: del self._soledad del self.km except AttributeError: pass # pytest handles correctly the setupEnv for the class, # but trial ignores it. if not getattr(self, 'tempdir', None): self.tempdir = tempfile.mkdtemp() def getCollection(_): adaptor = SoledadMailAdaptor() store = self._soledad adaptor.store = store mbox_indexer = MailboxIndexer(store) mbox_name = "INBOX" mbox_uuid = str(uuid.uuid4()) def get_collection_from_mbox_wrapper(wrapper): wrapper.uuid = mbox_uuid return MessageCollection( adaptor, store, mbox_indexer=mbox_indexer, mbox_wrapper=wrapper) d = adaptor.initialize_store(store) d.addCallback(lambda _: mbox_indexer.create_table(mbox_uuid)) d.addCallback( lambda _: adaptor.get_or_create_mbox(store, mbox_name)) d.addCallback(get_collection_from_mbox_wrapper) return d def setUpFetcher(inbox_collection): self.fetcher = IncomingMail( self.km, self._soledad, inbox_collection, ADDRESS) # The messages don't exist on soledad will fail on deletion self.fetcher._delete_incoming_message = Mock( return_value=defer.succeed(None)) d = KeyManagerWithSoledadTestCase.setUp(self) d.addCallback(getCollection) d.addCallback(setUpFetcher) d.addErrback(log.err) return d