README file for the HTTP::Proxy tests

* Helper modules

HTTP::Proxy can test itself without using the network,
thanks to the HTTP::Daemon module.

But since I want to test the proxy against "real" servers,
I also need to test it with an internet connection.

localhost tests work as follows:
 - a HTTP::Daemon is created and forked, that will serve
   a certain number of simple requests
 - a HTTP::Proxy is created and forked
 - a LWP::UserAgent is created and connects to the proxy
 - each of those process can run its own tests independantly,
   thanks to Test::More

The t/Utils.pm files (use t::Utils in some test files) exports 4 functions:
 - server_start
   starts a new HTTP::Daemon
 - server_next
   returns the next response from the server (accepts a coderef)
 - fork_proxy
   fork a proxy server passed as an argument
 - web_ok
   test if the actual WWW is available for testing

* Test categories

The tests are prefixed with a number, which indicates several categories:

0x - Basic tests
     t/00basic.t        - use HTTP::Proxy works
     t/01pod.t          - the POD is correct
     t/05new.t          - the HTTP::Proxy constructor

1x - Minimal functionnality tests
     t/10init.t         - the proxy initialisation
     t/15accessors.t    - the proxy accessors
     t/17fstack.t       - the internal HTTP::Proxy::FilterStack object

2x - Network protocols test
     t/20dummy.t        - tests against a dummy web server
     t/20keepalive.t    - test the keep-alive connections
     t/22http.t         - test actual HTTP servers
     t/23connect.t      - test CONNECT to a ssh server
     t/23https.t        - test CONNECT for SSL

3x - (Reserved for future use)

4x - Filter-related functions
     t/40push_filters.t - the push_filter method

5x - Internal header filters
     t/50hopbyhop.t     - check hop-by-hop headers removal
     t/50standard.t     - check other headers removal
     t/50via.t          - check the Via: headers
     t/51simple.t       - HTTP::Proxy::HeaderFilter::simple
     t/51simple2.t      - HTTP::Proxy::HeaderFilter::simple with a real proxy

6x - Internal body filters
     t/61simple.t       - HTTP::Proxy::BodyFilter::simple
     t/61simple2.t      - HTTP::Proxy::BodyFilter::simple with a real proxy
     t/64htmltext.t     - HTTP::Proxy::BodyFilter::htmltext
     t/64lines.t        - HTTP::Proxy::BodyFilter::lines
     t/64tags.t         - HTTP::Proxy::BodyFilter::tags
     t/66htmlparser.t   - HTTP::Proxy::BodyFilter::htmlparser

7x - Complex filter chains
     t/71rot13.t        - a simple ROT13 filter set

8x - (Reserved for future use)

9x - miscellaneous tests
     t/90diveintomark.t - test the proxy against a lot of status codes