diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-11-25 17:32:23 +0100 |
---|---|---|
committer | Thomas Kriechbaumer <Kriechi@users.noreply.github.com> | 2016-11-25 17:32:23 +0100 |
commit | 568f40c810f4de60f10bd814608fde8268ef7733 (patch) | |
tree | a8a5b68d0a5a2f7ab551c655564390d11096d4cd /test | |
parent | 0386740404bf178e7b4a8999eb7ada252e38322b (diff) | |
download | mitmproxy-568f40c810f4de60f10bd814608fde8268ef7733.tar.gz mitmproxy-568f40c810f4de60f10bd814608fde8268ef7733.tar.bz2 mitmproxy-568f40c810f4de60f10bd814608fde8268ef7733.zip |
Fix transparent mode initialisation, refactor mitmproxy.platform (#1787)
Diffstat (limited to 'test')
-rw-r--r-- | test/mitmproxy/test_proxy.py | 4 | ||||
-rw-r--r-- | test/mitmproxy/test_server.py | 14 | ||||
-rw-r--r-- | test/mitmproxy/tservers.py | 25 |
3 files changed, 14 insertions, 29 deletions
diff --git a/test/mitmproxy/test_proxy.py b/test/mitmproxy/test_proxy.py index aa3b8979..177bac1f 100644 --- a/test/mitmproxy/test_proxy.py +++ b/test/mitmproxy/test_proxy.py @@ -94,11 +94,11 @@ class TestProcessProxyOptions: with tutils.tmpdir() as cadir: self.assert_noerr("--cadir", cadir) - @mock.patch("mitmproxy.platform.resolver", None) + @mock.patch("mitmproxy.platform.original_addr", None) def test_no_transparent(self): self.assert_err("transparent mode not supported", "-T") - @mock.patch("mitmproxy.platform.resolver") + @mock.patch("mitmproxy.platform.original_addr") def test_modes(self, _): self.assert_noerr("-R", "http://localhost") self.assert_err("expected one argument", "-R") diff --git a/test/mitmproxy/test_server.py b/test/mitmproxy/test_server.py index a7d8cea5..332d6138 100644 --- a/test/mitmproxy/test_server.py +++ b/test/mitmproxy/test_server.py @@ -2,6 +2,8 @@ import os import socket import time +import mock + from mitmproxy.test import tutils from mitmproxy import controller from mitmproxy import options @@ -878,16 +880,10 @@ class TestKillResponse(tservers.HTTPProxyTest): assert self.server.last_log() -class EResolver(tservers.TResolver): - - def original_addr(self, sock): - raise RuntimeError("Could not resolve original destination.") - - class TestTransparentResolveError(tservers.TransparentProxyTest): - resolver = EResolver - - def test_resolve_error(self): + @mock.patch("mitmproxy.platform.original_addr") + def test_resolve_error(self, original_addr): + original_addr.side_effect = RuntimeError assert self.pathod("304").status_code == 502 diff --git a/test/mitmproxy/tservers.py b/test/mitmproxy/tservers.py index 060275d0..170a4917 100644 --- a/test/mitmproxy/tservers.py +++ b/test/mitmproxy/tservers.py @@ -1,9 +1,9 @@ import os.path import threading import tempfile -import mock import sys +import mitmproxy.platform from mitmproxy.proxy.config import ProxyConfig from mitmproxy.proxy.server import ProxyServer from mitmproxy import master @@ -207,33 +207,22 @@ class HTTPProxyTest(ProxyTestBase): return p.request("get:'http://%s%s'" % (options.APP_HOST, page)) -class TResolver: - - def __init__(self, port): - self.port = port - - def original_addr(self, sock): - return ("127.0.0.1", self.port) - - class TransparentProxyTest(ProxyTestBase): ssl = None - resolver = TResolver @classmethod def setup_class(cls): + cls._init_transparent_mode = mitmproxy.platform.init_transparent_mode + cls._original_addr = mitmproxy.platform.original_addr + mitmproxy.platform.init_transparent_mode = lambda: True + mitmproxy.platform.original_addr = lambda sock: ("127.0.0.1", cls.server.port) super().setup_class() - cls._resolver = mock.patch( - "mitmproxy.platform.resolver", - new=lambda: cls.resolver(cls.server.port) - ) - cls._resolver.start() - @classmethod def teardown_class(cls): - cls._resolver.stop() super().teardown_class() + mitmproxy.platform.init_transparent_mode = cls._init_transparent_mode + mitmproxy.platform.original_addr = cls._original_addr @classmethod def get_options(cls): |