mirror of
https://github.com/mirror/wget.git
synced 2025-01-20 09:10:14 +08:00
8b83306d54
This is a squashed commit of the following from parallel-wget:ecd6977
Refactor mainly the test cases classesd26c8eb
Create package test for test case classes507383d
Move server classes to package server.protocol195393b
Create package conf where rules and hooks are put42e482a
Create package exc and move TestFailed to exc82f44f3
Fix a typo in Test-Proto.py31e5f33
From WgetTest.py move WgetFile to misc422171d
Create 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 :
|