Example #1
0
 def test1(self):
     hook(PITA, 'asyncMethod')
     pita = PITA()
     pita.synchronousMethod(1)
     call = yield pita.asyncMethod.called()
     with ShouldRaise(Exception(1)):
         yield call.result
Example #2
0
 def setUp(self):
     context = Context()
     server = makeTCPServer(context, ServerProtocol)
     client = yield makeTCPClient(context, EchoClient, server)
     hook(EchoClient, 'lineReceived')
     self.client = client.clientProtocol
     self.server = client.serverProtocol
     self.addCleanup(context.cleanup)
Example #3
0
 def setUp(self):
     context = Context()
     server = makeTCPServer(context, MyServerProtocol,
                            WebSocketServerFactory())
     client = yield makeWebSocketClient(context, server)
     hook(WebSocketClientProtocol,
          'onMessage',
          decoder=lambda payload, _: payload)
     self.client = client.clientProtocol
     self.addCleanup(context.cleanup)
 def setUp(self):
     context = Context()
     server = makeTCPServer(context, WebSocketServerProtocol,
                            WebSocketServerFactory())
     hook(WebSocketServerProtocol,
          'onMessage',
          decoder=lambda payload, _: payload)
     client = yield makeWebSocketClient(context, server, MyClientProtocol)
     self.server = client.serverProtocol
     # cancel the loop:
     self.addCleanup(context.cleanup, delayedCalls=1)
Example #5
0
 def testUnconsumedCalls(self):
     hook(Sample, 'method')
     obj = Sample()
     obj.method('foo')
     with ShouldRaise(
             UnconsumedCalls({
                 (Sample, 'method'): {
                     obj: (Call(protocol=obj,
                                args=('foo', ),
                                kw={},
                                result='foo'), )
                 }
             })):
         cleanup()
Example #6
0
 def setUp(self):
     context = self.context = Context()
     self.dir = TempDirectory()
     self.addCleanup(self.dir.cleanup)
     # make sure that we trap unexpected close messages:
     hook(ServerProtocol, 'sendClose')
     self.server = makeTCPServer(context,
                                 ServerProtocol,
                                 buildSite(b'gotit', self.dir.path),
                                 installProtocol=False)
     client = yield makeWebSocketClient(context,
                                        self.server,
                                        factoryClass=ServerTesterFactory,
                                        close='close',
                                        endpoint='/spam')
     self.client = client.clientProtocol
     self.addCleanup(context.cleanup, threads=True, delayedCalls=1)
Example #7
0
    def testReconnect(self):
        hook(ServerTester, 'onOpen')
        self.client.sendMessage(b'hello', isBinary=True)
        yield ServerProtocol.sendClose.called()
        yield self.client.connectionLost.called()

        client = yield waitForClient(self.context, ServerTester.onOpen,
                                     ServerProtocol.connectionMade, 'close')
        server = client.serverProtocol
        client = client.clientProtocol

        client.sendMessage(b'hello')
        payload = yield client.onMessage.called()
        compare(payload, expected=b'gotit')

        # autobahn just doesn't use client protocol instances that aren't open, so
        # we manually check we're stripped out closed connections:
        compare(server.factory.state.clients, expected={server})

        yield advanceTime(seconds=2.1)

        payload = yield client.onMessage.called()
        compare(payload, expected=b'ping 1')