def testMaxConnectionsErrorHandling(self):
        observer = CallTrace('Observer', methods={'handleRequest': lambda *a, **kw: (x for x in [])})
        reactor = CallTrace('Reactor')

        s = ObservableHttpServer(reactor, 1024, maxConnections=5)
        s.addObserver(observer)
        result = ''.join(s._error(ResponseCode=503, something='bicycle'))

        self.assertEquals(1, len(observer.calledMethods))
        self.assertEquals('logHttpError', observer.calledMethods[0].name)
        self.assertEquals({'ResponseCode': 503, 'something': 'bicycle'}, observer.calledMethods[0].kwargs)
        header, body = result.split(CRLF * 2)
        self.assertTrue(header.startswith('HTTP/1.0 503'), header)
        self.assertTrue('Service Unavailable' in body, body)
    def testMaxConnectionsErrorHandling(self):
        observer = CallTrace('Observer',
                             methods={
                                 'handleRequest': lambda *a, **kw:
                                 (x for x in [])
                             })
        reactor = CallTrace('Reactor')

        s = ObservableHttpServer(reactor, 1024, maxConnections=5)
        s.addObserver(observer)
        result = ''.join(s._error(ResponseCode=503, something='bicycle'))

        self.assertEquals(1, len(observer.calledMethods))
        self.assertEquals('logHttpError', observer.calledMethods[0].name)
        self.assertEquals({
            'ResponseCode': 503,
            'something': 'bicycle'
        }, observer.calledMethods[0].kwargs)
        header, body = result.split(CRLF * 2)
        self.assertTrue(header.startswith('HTTP/1.0 503'), header)
        self.assertTrue('Service Unavailable' in body, body)