def testLongFetchDoesntTimeout(self):
SimpleServer.theAccount.mailboxFactory = SlowMailbox
SimpleServer.theAccount.addMailbox('mailbox-test')
self.server.setTimeout(0.1)
self.stillConnected = False
def login():
return self.client.login('testuser', 'password-test')
def select():
return self.client.select('mailbox-test')
def fetch():
return self.client.fetchUID('1:*')
def stillConnected():
self.stillConnected = not self.server.transport.disconnecting
d1 = self.connected.addCallback(strip(login))
d1.addCallback(strip(select))
d1.addCallback(strip(fetch))
d1.addCallback(strip(stillConnected))
d1.addCallback(self._cbStopClient)
d1.addErrback(self._ebGeneral)
d = defer.gatherResults([d1, self.loopback()])
return d.addCallback(lambda _: self.failUnless(self.stillConnected))
评论列表
文章目录