mirror of
https://github.com/mirror/wget.git
synced 2024-12-29 06:21:23 +08:00
f8e9a64ec7
Add (lots) of documentation for various parts of the test suite in the form of Python docstrings. Also, clean up some of the redundant code and fix indentation issues.
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
from misc.colour_terminal import print_green
|
|
from server.http.http_server import HTTPd, HTTPSd
|
|
from test.base_test import BaseTest, HTTP, HTTPS
|
|
|
|
|
|
class HTTPTest(BaseTest):
|
|
|
|
""" Class for HTTP Tests. """
|
|
|
|
# Temp Notes: It is expected that when pre-hook functions are executed,
|
|
# only an empty test-dir exists. pre-hook functions are executed just prior
|
|
# to the call to Wget is made. post-hook functions will be executed
|
|
# immediately after the call to Wget returns.
|
|
|
|
def __init__(self,
|
|
name="Unnamed Test",
|
|
pre_hook=None,
|
|
test_params=None,
|
|
post_hook=None,
|
|
protocols=(HTTP,)):
|
|
super(HTTPTest, self).__init__(name,
|
|
pre_hook,
|
|
test_params,
|
|
post_hook,
|
|
protocols)
|
|
with self:
|
|
# if any exception occurs, self.__exit__ will be immediately called
|
|
self.server_setup()
|
|
self.do_test()
|
|
print_green('Test Passed.')
|
|
|
|
def instantiate_server_by(self, protocol):
|
|
server = {HTTP: HTTPd,
|
|
HTTPS: HTTPSd}[protocol]()
|
|
server.start()
|
|
|
|
return server
|
|
|
|
def request_remaining(self):
|
|
return [s.server_inst.get_req_headers()
|
|
for s in self.servers]
|
|
|
|
def stop_server(self):
|
|
for server in self.servers:
|
|
server.server_inst.shutdown()
|
|
# vim: set ts=4 sts=4 sw=4 tw=80 et :
|