[Twisted-Python] Conch Testing server and client

Anshul Singhle anshul.singhle at gmail.com
Fri Jul 1 06:14:31 MDT 2011


Hi,
I have to write tests for a custom conch server. My approach is to make a
test client and then connect it to my server in my testcase. I have been
able to create a client that can interface with my server, but i'm not able
to do it from within the test case.
What I'm trying is :
class TestAccountStatus(unittest.TestCase):
     def setUp(self):
         ssh_server = Server()
         self.server = reactor.listenTCP(ssh_server.port,
                      ssh_server.application(),
                      interface=ssh_server.interface)
     def tearDown(self):
         server, self.server = self.server,None
         return server.stopListening()
     def test_1(self):
         d = protocol.ClientCreator(reactor,
SimpleTransport).connectTCP('localhost', self.server.getHost().port)
         return d
The transport SimpleTransport is my custom transport.SSHClientTransport
instance. The class Server() is a wrapper around an SSHFactory insatance.
The problem I'm facing is that after this line >
d = protocol.ClientCreator(reactor, SimpleTransport).connectTCP('localhost',
self.server.getHost().port)
I have to write reactor.run(), otherwise the client is not starting. If I
write reactor.run() the test doesn't stop (understandable since the reactor
isn't being stopped).
Basically I want to know how I can start the client without running
reactor.run()

Thanks in Advance!!
Anshul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20110701/973071e9/attachment.html>


More information about the Twisted-Python mailing list