mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2025-01-30 14:58:38 +00:00
100% unit test coverage on proxy.py. Hallelujah!
This commit is contained in:
parent
d5876a12ed
commit
2465b8a376
@ -504,10 +504,7 @@ class ProxyServer(tcp.TCPServer):
|
||||
def handle_connection(self, request, client_address):
|
||||
h = ProxyHandler(self.config, request, client_address, self, self.channel, self.server_version)
|
||||
h.handle()
|
||||
try:
|
||||
h.finish()
|
||||
except tcp.NetLibDisconnect, e:
|
||||
pass
|
||||
h.finish()
|
||||
|
||||
def handle_shutdown(self):
|
||||
self.config.certstore.cleanup()
|
||||
@ -540,7 +537,7 @@ class DummyServer:
|
||||
def __init__(self, config):
|
||||
self.config = config
|
||||
|
||||
def start_slave(self, klass, channel):
|
||||
def start_slave(self, *args):
|
||||
pass
|
||||
|
||||
def shutdown(self):
|
||||
|
@ -69,7 +69,7 @@ class MockParser:
|
||||
|
||||
def __repr__(self):
|
||||
return "ParseError(%s)"%self.err
|
||||
|
||||
|
||||
|
||||
class TestProcessProxyOptions:
|
||||
def p(self, *args):
|
||||
@ -132,4 +132,18 @@ class TestProcessProxyOptions:
|
||||
self.assert_err("invalid single-user specification", "--singleuser", "test")
|
||||
|
||||
|
||||
class TestProxyServer:
|
||||
def test_err(self):
|
||||
parser = argparse.ArgumentParser()
|
||||
cmdline.common_options(parser)
|
||||
opts = parser.parse_args(args=[])
|
||||
tutils.raises("error starting proxy server", proxy.ProxyServer, opts, 1)
|
||||
|
||||
|
||||
class TestDummyServer:
|
||||
def test_simple(self):
|
||||
d = proxy.DummyServer(None)
|
||||
d.start_slave()
|
||||
d.shutdown()
|
||||
|
||||
|
||||
|
@ -277,7 +277,7 @@ class MasterFakeResponse(tservers.TestMaster):
|
||||
|
||||
class TestFakeResponse(tservers.HTTPProxTest):
|
||||
masterclass = MasterFakeResponse
|
||||
def test_kill(self):
|
||||
def test_fake(self):
|
||||
f = self.pathod("200")
|
||||
assert "header_response" in f.headers.keys()
|
||||
|
||||
@ -319,3 +319,19 @@ class TestTransparentResolveError(tservers.TransparentProxTest):
|
||||
def test_resolve_error(self):
|
||||
assert self.pathod("304").status_code == 502
|
||||
|
||||
|
||||
|
||||
class MasterIncomplete(tservers.TestMaster):
|
||||
def handle_request(self, m):
|
||||
resp = tutils.tresp()
|
||||
resp.content = flow.CONTENT_MISSING
|
||||
m.reply(resp)
|
||||
|
||||
|
||||
class TestIncompleteResponse(tservers.HTTPProxTest):
|
||||
masterclass = MasterIncomplete
|
||||
def test_incomplete(self):
|
||||
assert self.pathod("200").status_code == 502
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user