def test_tcpnoop(self): client=StubClient() client.tst=self self.cfact=CACircuitFactory(client) conf=Config(Config.empty) conf.nameservs=[('127.0.0.1', 1)] # will not be used resolv=Resolver(conf=conf, tcpfactory=self.cfact) d1=resolv.lookup('junkname') @d1.addCallback def abort(name): self.assertTrue(name is None) d2=resolv.close() return gatherResults([d1,d2])
def test_tcpabort(self): """Abort a TCP persistent circuit """ client=StubClient() client.tst=self name1=padString('test1') user=padString('hello') host=padString('world') sfact=self.sfact=CAExpectFactory() sfact.tst=self self.serv=reactor.listenTCP(0, sfact, interface='127.0.0.1') target=('127.0.0.1', self.serv.getHost().port) sfact.program= \ [('send',CAmessage(dtype=0, count=12)), ('recv',CAmessage(dtype=0, count=CA_VERSION)), ('recv',CAmessage(cmd=20, size=len(user), body=user)), ('recv',CAmessage(cmd=21, size=len(host), body=host)), ]+[('recv',CAmessage(cmd=6, size=len(name1), dtype=5, count=CA_VERSION, p1=0, p2=0, body=name1))]*6 self.cfact=CACircuitFactory(client) conf=Config(Config.empty) conf.nameservs=[target] resolv=Resolver(conf=conf, tcpfactory=self.cfact) d=resolv.lookup('test1') @d.addCallback def result(srv): self.assertTrue(srv is None) d2=deferLater(reactor, 0.5, resolv.close) return gatherResults([d,d2])