diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2016-07-18 12:05:10 +1200 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2016-07-19 16:25:09 +1200 |
commit | 9bc1514aefe524a0c6afceec8e2d2afe15acdf66 (patch) | |
tree | c41750f4a202e5f639d4a829fface31ec88a8b31 /test | |
parent | 5034a6232c715b332ede160babdd7e875b25ca23 (diff) | |
download | mitmproxy-9bc1514aefe524a0c6afceec8e2d2afe15acdf66.tar.gz mitmproxy-9bc1514aefe524a0c6afceec8e2d2afe15acdf66.tar.bz2 mitmproxy-9bc1514aefe524a0c6afceec8e2d2afe15acdf66.zip |
Unify proxy config and options
This is step 1 in a gradual "boiling frog" strategy. Decorate ProxyConfig
with an Options object.
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/test_flow.py | 4 | ||||
-rw-r--r-- | test/mitmproxy/test_protocol_http2.py | 6 | ||||
-rw-r--r-- | test/mitmproxy/test_proxy.py | 7 | ||||
-rw-r--r-- | test/mitmproxy/tservers.py | 16 |
4 files changed, 21 insertions, 12 deletions
diff --git a/test/mitmproxy/test_flow.py b/test/mitmproxy/test_flow.py index 90f7f915..a44353e7 100644 --- a/test/mitmproxy/test_flow.py +++ b/test/mitmproxy/test_flow.py @@ -4,6 +4,7 @@ import io import netlib.utils from netlib.http import Headers from mitmproxy import filt, controller, flow +from mitmproxy.flow import options from mitmproxy.contrib import tnetstring from mitmproxy.exceptions import FlowReadException from mitmproxy.models import Error @@ -640,6 +641,7 @@ class TestSerialize: r = self._treader() s = flow.State() conf = ProxyConfig( + options.Options(), mode="reverse", upstream_server=("https", ("use-this-domain", 80)) ) @@ -753,7 +755,7 @@ class TestFlowMaster: pb = [tutils.tflow(resp=True), f] fm = flow.FlowMaster( flow.options.Options(), - DummyServer(ProxyConfig()), + DummyServer(ProxyConfig(options.Options())), s ) assert not fm.start_server_playback( diff --git a/test/mitmproxy/test_protocol_http2.py b/test/mitmproxy/test_protocol_http2.py index b8f724bd..04ca94bf 100644 --- a/test/mitmproxy/test_protocol_http2.py +++ b/test/mitmproxy/test_protocol_http2.py @@ -9,6 +9,7 @@ import traceback import h2 +from mitmproxy.flow import options from mitmproxy.proxy.config import ProxyConfig from mitmproxy.cmdline import APP_HOST, APP_PORT @@ -88,9 +89,10 @@ class _Http2TestBase(object): @classmethod def setup_class(cls): - cls.config = ProxyConfig(**cls.get_proxy_config()) + cls.masteroptions = options.Options() + cls.config = ProxyConfig(cls.masteroptions, **cls.get_proxy_config()) - tmaster = tservers.TestMaster(cls.config) + tmaster = tservers.TestMaster(cls.masteroptions, cls.config) tmaster.start_app(APP_HOST, APP_PORT) cls.proxy = tservers.ProxyThread(tmaster) cls.proxy.start() diff --git a/test/mitmproxy/test_proxy.py b/test/mitmproxy/test_proxy.py index cd24fc9f..f4f73cf5 100644 --- a/test/mitmproxy/test_proxy.py +++ b/test/mitmproxy/test_proxy.py @@ -7,6 +7,7 @@ from mitmproxy.proxy import ProxyConfig from mitmproxy.proxy.config import process_proxy_options from mitmproxy.models.connections import ServerConnection from mitmproxy.proxy.server import DummyServer, ProxyServer, ConnectionHandler +from mitmproxy.flow import options from netlib.exceptions import TcpDisconnect from pathod import test from netlib.http import http1 @@ -58,8 +59,8 @@ class TestProcessProxyOptions: def p(self, *args): parser = tutils.MockParser() cmdline.common_options(parser) - opts = parser.parse_args(args=args) - return parser, process_proxy_options(parser, opts) + args = parser.parse_args(args=args) + return parser, process_proxy_options(parser, options.Options(), args) def assert_err(self, err, *args): tutils.raises(err, self.p, *args) @@ -159,12 +160,14 @@ class TestProxyServer: @tutils.skip_windows def test_err(self): conf = ProxyConfig( + options.Options(), port=1 ) tutils.raises("error starting proxy server", ProxyServer, conf) def test_err_2(self): conf = ProxyConfig( + options.Options(), host="invalidhost" ) tutils.raises("error starting proxy server", ProxyServer, conf) diff --git a/test/mitmproxy/tservers.py b/test/mitmproxy/tservers.py index 9b830b2d..e236656e 100644 --- a/test/mitmproxy/tservers.py +++ b/test/mitmproxy/tservers.py @@ -32,11 +32,11 @@ def errapp(environ, start_response): class TestMaster(flow.FlowMaster): - def __init__(self, config): + def __init__(self, opts, config): config.port = 0 s = ProxyServer(config) state = flow.State() - flow.FlowMaster.__init__(self, options.Options(), s, state) + flow.FlowMaster.__init__(self, opts, s, state) self.addons.add(*builtins.default_addons()) self.apps.add(testapp, "testapp", 80) self.apps.add(errapp, "errapp", 80) @@ -80,6 +80,7 @@ class ProxyTestBase(object): no_upstream_cert = False authenticator = None masterclass = TestMaster + masteroptions = options.Options() add_upstream_certs_to_client_chain = False @classmethod @@ -91,9 +92,8 @@ class ProxyTestBase(object): ssl=cls.ssl, ssloptions=cls.ssloptions) - cls.config = ProxyConfig(**cls.get_proxy_config()) - - tmaster = cls.masterclass(cls.config) + cls.config = ProxyConfig(cls.masteroptions, **cls.get_proxy_config()) + tmaster = cls.masterclass(cls.masteroptions, cls.config) tmaster.start_app(APP_HOST, APP_PORT) cls.proxy = ProxyThread(tmaster) cls.proxy.start() @@ -284,17 +284,19 @@ class ChainProxyTest(ProxyTestBase): @classmethod def setup_class(cls): + cls.masteroptions = options.Options() cls.chain = [] super(ChainProxyTest, cls).setup_class() for _ in range(cls.n): - config = ProxyConfig(**cls.get_proxy_config()) - tmaster = cls.masterclass(config) + config = ProxyConfig(cls.masteroptions, **cls.get_proxy_config()) + tmaster = cls.masterclass(cls.masteroptions, config) proxy = ProxyThread(tmaster) proxy.start() cls.chain.insert(0, proxy) # Patch the orginal proxy to upstream mode cls.config = cls.proxy.tmaster.config = cls.proxy.tmaster.server.config = ProxyConfig( + cls.masteroptions, **cls.get_proxy_config()) @classmethod |