From ec6fbe9eb684bbf70db796876751078865a0e50f Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Wed, 13 Jul 2016 21:40:13 -0700 Subject: make options explicit --- test/mitmproxy/builtins/test_anticache.py | 2 +- test/mitmproxy/builtins/test_anticomp.py | 2 +- test/mitmproxy/builtins/test_stickyauth.py | 2 +- test/mitmproxy/builtins/test_stickycookie.py | 2 +- test/mitmproxy/console/test_master.py | 6 +++--- test/mitmproxy/test_options.py | 30 ++++++++++++++++++++-------- test/mitmproxy/test_web_master.py | 9 +++------ 7 files changed, 32 insertions(+), 21 deletions(-) (limited to 'test') diff --git a/test/mitmproxy/builtins/test_anticache.py b/test/mitmproxy/builtins/test_anticache.py index 5a00af03..127e1c1a 100644 --- a/test/mitmproxy/builtins/test_anticache.py +++ b/test/mitmproxy/builtins/test_anticache.py @@ -2,7 +2,7 @@ from .. import tutils, mastertest from mitmproxy.builtins import anticache from mitmproxy.flow import master from mitmproxy.flow import state -from mitmproxy import options +from mitmproxy.flow import options class TestAntiCache(mastertest.MasterTest): diff --git a/test/mitmproxy/builtins/test_anticomp.py b/test/mitmproxy/builtins/test_anticomp.py index 6bfd54bb..601e56c8 100644 --- a/test/mitmproxy/builtins/test_anticomp.py +++ b/test/mitmproxy/builtins/test_anticomp.py @@ -2,7 +2,7 @@ from .. import tutils, mastertest from mitmproxy.builtins import anticomp from mitmproxy.flow import master from mitmproxy.flow import state -from mitmproxy import options +from mitmproxy.flow import options class TestAntiComp(mastertest.MasterTest): diff --git a/test/mitmproxy/builtins/test_stickyauth.py b/test/mitmproxy/builtins/test_stickyauth.py index 9233f435..1e617402 100644 --- a/test/mitmproxy/builtins/test_stickyauth.py +++ b/test/mitmproxy/builtins/test_stickyauth.py @@ -2,7 +2,7 @@ from .. import tutils, mastertest from mitmproxy.builtins import stickyauth from mitmproxy.flow import master from mitmproxy.flow import state -from mitmproxy import options +from mitmproxy.flow import options class TestStickyAuth(mastertest.MasterTest): diff --git a/test/mitmproxy/builtins/test_stickycookie.py b/test/mitmproxy/builtins/test_stickycookie.py index e64ecb5b..9cf768df 100644 --- a/test/mitmproxy/builtins/test_stickycookie.py +++ b/test/mitmproxy/builtins/test_stickycookie.py @@ -2,7 +2,7 @@ from .. import tutils, mastertest from mitmproxy.builtins import stickycookie from mitmproxy.flow import master from mitmproxy.flow import state -from mitmproxy import options +from mitmproxy.flow import options from netlib import tutils as ntutils diff --git a/test/mitmproxy/console/test_master.py b/test/mitmproxy/console/test_master.py index d42863b3..b84e4c1c 100644 --- a/test/mitmproxy/console/test_master.py +++ b/test/mitmproxy/console/test_master.py @@ -111,14 +111,14 @@ def test_options(): class TestMaster(mastertest.MasterTest): - def mkmaster(self, filt, **options): + def mkmaster(self, **options): if "verbosity" not in options: options["verbosity"] = 0 - o = console.master.Options(filtstr=filt, **options) + o = console.master.Options(**options) return console.master.ConsoleMaster(None, o) def test_basic(self): - m = self.mkmaster(None) + m = self.mkmaster() for i in (1, 2, 3): self.dummy_cycle(m, 1, b"") assert len(m.state.flows) == i diff --git a/test/mitmproxy/test_options.py b/test/mitmproxy/test_options.py index 97db9430..cdb0d765 100644 --- a/test/mitmproxy/test_options.py +++ b/test/mitmproxy/test_options.py @@ -7,10 +7,10 @@ from netlib import tutils class TO(options.Options): - attributes = [ - "one", - "two" - ] + def __init__(self, one=None, two=None): + self.one = one + self.two = two + super(TO, self).__init__() def test_options(): @@ -19,8 +19,13 @@ def test_options(): assert o.two == "three" o.one = "one" assert o.one == "one" - tutils.raises("no such option", setattr, o, "nonexistent", "value") - tutils.raises("no such option", o.update, nonexistent = "value") + + with tutils.raises(TypeError): + TO(nonexistent = "value") + with tutils.raises("no such option"): + o.nonexistent = "value" + with tutils.raises("no such option"): + o.update(nonexistent = "value") rec = [] @@ -43,7 +48,8 @@ def test_setter(): f = o.setter("two") f("xxx") assert o.two == "xxx" - tutils.raises("no such option", o.setter, "nonexistent") + with tutils.raises("no such option"): + o.setter("nonexistent") def test_rollback(): @@ -61,7 +67,7 @@ def test_rollback(): def err(opts): if opts.one == "ten": - raise exceptions.OptionsError + raise exceptions.OptionsError() o.changed.connect(sub) o.changed.connect(err) @@ -73,3 +79,11 @@ def test_rollback(): assert len(rec) == 2 assert rec[0].one == "ten" assert rec[1].one == "two" + + +def test_repr(): + assert repr(TO()) == "test.mitmproxy.test_options.TO({'one': None, 'two': None})" + assert repr(TO(one='x' * 60)) == """test.mitmproxy.test_options.TO({ + 'one': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', + 'two': None +})""" diff --git a/test/mitmproxy/test_web_master.py b/test/mitmproxy/test_web_master.py index f0fafe24..2ab440ce 100644 --- a/test/mitmproxy/test_web_master.py +++ b/test/mitmproxy/test_web_master.py @@ -3,15 +3,12 @@ from . import mastertest class TestWebMaster(mastertest.MasterTest): - def mkmaster(self, filt, **options): - o = master.Options( - filtstr=filt, - **options - ) + def mkmaster(self, **options): + o = master.Options(**options) return master.WebMaster(None, o) def test_basic(self): - m = self.mkmaster(None) + m = self.mkmaster() for i in (1, 2, 3): self.dummy_cycle(m, 1, b"") assert len(m.state.flows) == i -- cgit v1.2.3