i can telnet to the port given in test-code below and it interacts appropriately. The connection is to a regular portforwarder and the server is an Answer-server:
class Answer(LineReceiver): answers = {'How are you?': 'Fine', 'no': 'No!?!', None : "I don't know what you mean", 'hello': 'hi there', 'Whats Up': 'not much' } def lineReceived(self, line): log.debug('line: %s' % line) if self.answers.has_key(line): self.sendLine(self.answers[line]) else: self.sendLine(self.answers[None]) Its not a unit-test, but it reasonably expresses code that I dont understand from twisted.trial.unittest import TestCase from twisted.internet import reactor, protocol, defer from twisted.internet.protocol import ClientFactory,ReconnectingClientFactory from twisted.protocols.policies import WrappingFactory from twisted.protocols import basic import localproxy import settings from state import State import engine from server import Factory, AssertingAnswer, AssertingFactoryMixin from assertion import URL import logging global log log = logging.getLogger(__name__) log.setLevel(settings.loglevel) class Test(TestCase): def sendTraffic(self, vip, count = 1, payload = 'Whats Up\n', expectedResponse = 'not much'): '''telnet to DUT and post payload''' log.debug('vip: %s:%s' % (vip.host, vip.port)) t = self class Hello(basic.LineReceiver): def dataReceived(self, data): log.debug('trace: %s' % data) return basic.LineReceiver.dataReceived(self,data) def lineReceived(self, line): log.debug('trace: %s' % line) t.assertEquals(line, expectedResponse) self.transport.loseConnection() def connectionMade(self): log.debug('trace, writing "%s"' % payload) assert self.transport self.transport.write(payload) def connectionLost(self, reason): log.debug('reason: %s' % reason) f = ReconnectingClientFactory() f.protocol = Hello factory = WrappingFactory(f) reactor.connectTCP( vip.host, vip.port, factory) log.debug('clientFactory: %s' % factory.__dict__) return factory def killClient(t): log.debug('t: %s' % t) def testClientConnect(self): vip = State(host='127.0.0.1', port = 10040) t = self.sendTraffic( vip) reactor.callLater(1, self.killClient, t) _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python