2013-08-31 Darshit Shah * HTTPTest.py (ServerError): Define new Exception for handling internal control flow. (StoppableHTTPServer.SendHeader): Simply pass. Do nothing. Adding functionality here seems to crash for no apparent reason. (stoppableHTTPServer.send_cust_headers): Minor optimization. No need for extra variable. (__Handler.Response): Handle explicit Response Code Rules (__Handler.Authentication): Handle Authentication rules (__Handler.handle_auth): Actual worker method for authentication (__Handler.ExpectHeader): Ensure Expected Headers are received (__Handler.RejectHeader): Ensure Blacklisted Headers are NOT received (__Handler.send_HEAD): Dynamically call server rule functions based on the self.rules list. This feature will later be added to POST/PUT, etc 2013-08-31 Darshit Shah * WgetTest.py: Remove import module defaultdict. (CommonMethods.get_server_rules): server_rules should be a dict, not a defaultdict (list). * HTTPServer.py (WgetHTTPRequestHandler.get_rule_list): If rule does not exist, return None. Not an emppty list. (WgetHTTPRequestHandler.test_cookies): Rule variable is not a list (__Handler.send_cust_headers): Same (__Handler.custom_response): Same (__Handler.is_authorized): Same (__Handler.expect_headers): Same (__Handler.reject_headers): Same 2013-08-31 Darshit Shah * README: (newfile) Simple help / instructions about using the Test Environment. * Makefile.am: (newfile) Makefile for the Test Environment. Uses the Automake Parallel Test Harness * WgetTest.py: (newfile) Base module that executes the Test. * HTTPServer.py: (newfile) Contains the custom HTTP Server for the Test Environment. Creates an instance of http.server in Python3. * FTPServer.py: (newfile) Overrides methods from pyftpdlib for use in the Test Environment. ** Work under progress **. * ColourTerm.py: (newfile) A custom module to output coloured text to the terminal. Known to work on POSIX shells. * Test-Proto.py: (newfile) A prototype Test File. This should be copied when writing a new Test Case. * Test-Content-disposition-2.py: Test Content Disposition clobbering * Test-Content-disposition.py: Test Content Disposition Headers * Test-O.py: Test Output filename command * Test-auth-basic-fail.py: Test returncode on auth failure * Test-auth-basic.py: Test Basic Auth negotiation * Test-auth-both.py: Test handling of Multiple auth providers. This test currently fails. * Test-auth-digest.py: Test Digest Auth Negotiation * Test-auth-no-challenge-url.py: Ensure --auth-no-challenge is handled when auth details are in-URL. * Test-auth-no-challenge.py: Ensure --auth-no-challenge is honoured * Test-auth-retcode.py: Ensure correct return code after 403 Forbidden response.