aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2016-07-18 12:05:10 +1200
committerAldo Cortesi <aldo@nullcube.com>2016-07-19 16:25:09 +1200
commit9bc1514aefe524a0c6afceec8e2d2afe15acdf66 (patch)
treec41750f4a202e5f639d4a829fface31ec88a8b31 /test
parent5034a6232c715b332ede160babdd7e875b25ca23 (diff)
downloadmitmproxy-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.py4
-rw-r--r--test/mitmproxy/test_protocol_http2.py6
-rw-r--r--test/mitmproxy/test_proxy.py7
-rw-r--r--test/mitmproxy/tservers.py16
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