mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
8e0dd0d870
* testenv/conf/{__init__,authentication,files_crawled, hook_sample,reject_header,server_files}.py: Aesthetic changes to meet Python PEP8 guidelines * testenv/exc/{server_error,test_failed}.py: Same * testenv/misc/{colour_terminal,wget_file}.py: Same * testenv/server/http/http_server.py: Same * testenv/test/base_test.py: Same
28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
from misc.colour_terminal import print_red
|
|
from conf import hook
|
|
from exc.test_failed import TestFailed
|
|
|
|
""" Post-Test Hook: FilesCrawled
|
|
This is a post test hook that is invoked in tests that check wget's behaviour
|
|
in recursive mode. It expects an ordered list of the request lines that Wget
|
|
must send to the server. If the requests received by the server do not match
|
|
the provided list, IN THE GIVEN ORDER, then it raises a TestFailed exception.
|
|
Such a test can be used to check the implementation of the recursion algorithm
|
|
in Wget too.
|
|
"""
|
|
|
|
|
|
@hook()
|
|
class FilesCrawled:
|
|
def __init__(self, request_headers):
|
|
self.request_headers = request_headers
|
|
|
|
def __call__(self, test_obj):
|
|
for headers, remaining in zip(map(set, self.request_headers),
|
|
test_obj.request_remaining()):
|
|
diff = headers.symmetric_difference(remaining)
|
|
|
|
if diff:
|
|
print_red(str(diff))
|
|
raise TestFailed('Not all files were crawled correctly.')
|