Esempio n. 1
0
 def testConnect(self):
     messages = []
     class Interceptor(object):
         def processConnection(self):
             messages.append((yield))
     server = Server(self.reactor, self.port)
     server.addObserver(Interceptor())
     sok = self.send('localhost', self.port, 'a message')
     self.reactor.step().step()
     self.assertEquals(['a message'], messages)
     sok.close()
     server.stop()
Esempio n. 2
0
    def testConnect(self):
        messages = []

        class Interceptor(object):
            def processConnection(self):
                messages.append((yield))

        server = Server(self.reactor, self.port)
        server.addObserver(Interceptor())
        sok = self.send('localhost', self.port, 'a message')
        self.reactor.step().step()
        self.assertEquals(['a message'], messages)
        sok.close()
        server.stop()
Esempio n. 3
0
 def testShutdownAndClose(self):
     class Interceptor(object):
         def processConnection(self):
             yield 'over en uit'
     server = Server(self.reactor, self.port)
     server.addObserver(Interceptor())
     connection = self.send('localhost', self.port, 'a message')
     while connection not in select([connection],[],[],0)[0]:
         self.reactor.step()
     self.assertEquals('over en uit', connection.recv(99))
     try:
         connection.send('aap')
         self.fail('connection is closed, this must raise an io error')
     except socket.error, e:
         pass
Esempio n. 4
0
    def testShutdownAndClose(self):
        class Interceptor(object):
            def processConnection(self):
                yield 'over en uit'

        server = Server(self.reactor, self.port)
        server.addObserver(Interceptor())
        connection = self.send('localhost', self.port, 'a message')
        while connection not in select([connection], [], [], 0)[0]:
            self.reactor.step()
        self.assertEquals('over en uit', connection.recv(99))
        try:
            connection.send('aap')
            self.fail('connection is closed, this must raise an io error')
        except socket.error, e:
            pass
Esempio n. 5
0
 def testShutdownAndCloseInCaseOfException(self):
     class Interceptor(object):
         def processConnection(self):
             raise Exception('oops')
             yield 'over en uit'
     server = Server(self.reactor, self.port)
     server.addObserver(Interceptor())
     connection = self.send('localhost', self.port, 'a message')
     sys.stderr = StringIO()
     try:
         self.reactor.step()
     finally:
         sys.stderr = sys.__stderr__
     try:
         connection.send('aap')
         self.fail('connection is closed, this must raise an io error')
     except socket.error, e:
         pass
Esempio n. 6
0
    def testShutdownAndCloseInCaseOfException(self):
        class Interceptor(object):
            def processConnection(self):
                raise Exception('oops')
                yield 'over en uit'

        server = Server(self.reactor, self.port)
        server.addObserver(Interceptor())
        connection = self.send('localhost', self.port, 'a message')
        sys.stderr = StringIO()
        try:
            self.reactor.step()
        finally:
            sys.stderr = sys.__stderr__
        try:
            connection.send('aap')
            self.fail('connection is closed, this must raise an io error')
        except socket.error, e:
            pass
Esempio n. 7
0
 def XXXXXXXXXXXXXXXXtestMultipleConnectionsAndSomeShortConversation(self):
     class MyHandler(object):
         def processConnection(self):
             message = yield
             yield 'Goodbye ' + message
     server = Server(self.reactor, self.port)
     server.addObserver(MyHandler())
     conn3 = self.send('localhost', self.port, 'Klaas')
     conn1 = self.send('localhost', self.port, 'Thijs')
     conn2 = self.send('localhost', self.port, 'Johan')
     readable = []
     while conn1 not in readable or conn2 not in readable or conn3 not in readable:
         self.reactor.step()
         readable = select([conn1, conn2, conn3],[],[],0)[0]
     self.assertEquals('Goodbye Thijs', conn1.recv(99))
     self.assertEquals('Goodbye Johan', conn2.recv(99))
     self.assertEquals('Goodbye Klaas', conn3.recv(99))
     conn1.close()
     conn2.close()
     conn3.close()
     server.stop()
Esempio n. 8
0
    def XXXXXXXXXXXXXXXXtestMultipleConnectionsAndSomeShortConversation(self):
        class MyHandler(object):
            def processConnection(self):
                message = yield
                yield 'Goodbye ' + message

        server = Server(self.reactor, self.port)
        server.addObserver(MyHandler())
        conn3 = self.send('localhost', self.port, 'Klaas')
        conn1 = self.send('localhost', self.port, 'Thijs')
        conn2 = self.send('localhost', self.port, 'Johan')
        readable = []
        while conn1 not in readable or conn2 not in readable or conn3 not in readable:
            self.reactor.step()
            readable = select([conn1, conn2, conn3], [], [], 0)[0]
        self.assertEquals('Goodbye Thijs', conn1.recv(99))
        self.assertEquals('Goodbye Johan', conn2.recv(99))
        self.assertEquals('Goodbye Klaas', conn3.recv(99))
        conn1.close()
        conn2.close()
        conn3.close()
        server.stop()