All pastes #950267 Raw Edit

Something

public text v1 · immutable
·published 2008-03-20 13:30 UTC
rendered paste body
    def test_consecutive_with_close(self):
        """Test two consecutive requests on the same URI, closing the client between the two
        """
        res_dfr = defer.Deferred()

        def first_request_done(response):
            self.assertEqual(response.code, 200)

            def do_second_request():
                close_dfr = self.client.close()
                close_dfr.addCallback(closed)
            
            def closed():
                open_dfr = self.client.open('localhost', SERVER_PORT)
                open_dfr.addCallback(opened)

            def opened():
                second_request_dfr = self.client.request('/')
                second_request_dfr.addCallback(second_request_done)
                second_request_dfr.chainDeferred(res_dfr)
           
            do_second_request()

            return response

        def second_request_done(response):
            self.assertEqual(response.code, 200)
            
            return response
    
        first_request_dfr = self.client.request('/')
        first_request_dfr.addCallback(first_request_done)
        first_request_dfr.addErrback(res_dfr.errback)

        return res_dfr