[Twisted-web] Separate function for relative redirects in HTTPClientFactory

David Reid dreid at dreid.org
Thu Mar 5 13:27:08 EST 2009


I would suggest rewriting the test cases so you don't need to use an
internal webserver.  You really just need to be able to send blobs of data
to the HTTP client that contain different response codes and Location
headers.

I believe there are already some tests in twisted.web.test.test_webclient
that do this, such as:

http://twistedmatrix.com/trac/browser/trunk/twisted/web/test/test_webclient=
.py#L172
http://twistedmatrix.com/trac/browser/trunk/twisted/web/test/test_webclient=
.py#L711

Plus there are numerous other examples in twisted of not relying on even the
loopback network interface for tests.

-David

On Thu, Mar 5, 2009 at 9:27 AM, Aaron DeVore <aaron.devore at gmail.com> wrote:

> Last night I restarted my work on relative redirects in
> HTTPClientFactory (Ticket #3384). What I had forgotten was how
> insanely difficult it is to write the test cases, which would then be
> significantly more bug prone than the code itself. The problem is that
> for every possible input I need to add (1) A test_* function, (2) a
> callback, (3) one or more children to the internal web server for the
> test_* function to connect to.
>
> This morning I hit on another idea: Why not separate the code in
> HTTPClientFactory that does the fix into a separate function? Then
> there could be one test case to make sure the code in
> HTTPClientFactory works, then a single test case that contains a
> series of assertEquals that test the output of the function. How does
> that sound? Should I put it outside of HTTPClientFactory or inside?
>
> Cheers!
> Aaron DeVore
>
> _______________________________________________
> Twisted-web mailing list
> Twisted-web at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-web/attachments/20090305/01=
5589ae/attachment.htm


More information about the Twisted-web mailing list