mirror of
https://github.com/mirror/wget.git
synced 2026-08-19 09:23:27 +08:00
This is a squashed commit of the following from parallel-wget:ecd6977Refactor mainly the test cases classesd26c8ebCreate package test for test case classes507383dMove server classes to package server.protocol195393bCreate package conf where rules and hooks are put42e482aCreate package exc and move TestFailed to exc82f44f3Fix a typo in Test-Proto.py31e5f33From WgetTest.py move WgetFile to misc422171dCreate package misc, move ColourTerm.py to misc
46 lines
1.5 KiB
Python
46 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 :
|