aboutsummaryrefslogtreecommitdiffstats
path: root/test/mitmproxy/test_addonmanager.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/mitmproxy/test_addonmanager.py')
-rw-r--r--test/mitmproxy/test_addonmanager.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/test/mitmproxy/test_addonmanager.py b/test/mitmproxy/test_addonmanager.py
index 678bc1b7..274d2d90 100644
--- a/test/mitmproxy/test_addonmanager.py
+++ b/test/mitmproxy/test_addonmanager.py
@@ -6,7 +6,6 @@ from mitmproxy import exceptions
from mitmproxy import options
from mitmproxy import command
from mitmproxy import master
-from mitmproxy import proxy
from mitmproxy.test import taddons
from mitmproxy.test import tflow
@@ -51,7 +50,7 @@ def test_command():
def test_halt():
o = options.Options()
- m = master.Master(o, proxy.DummyServer(o))
+ m = master.Master(o)
a = addonmanager.AddonManager(m)
halt = THalt()
end = TAddon("end")
@@ -68,7 +67,7 @@ def test_halt():
def test_lifecycle():
o = options.Options()
- m = master.Master(o, proxy.DummyServer(o))
+ m = master.Master(o)
a = addonmanager.AddonManager(m)
a.add(TAddon("one"))
@@ -91,7 +90,15 @@ def test_loader():
with taddons.context() as tctx:
l = addonmanager.Loader(tctx.master)
l.add_option("custom_option", bool, False, "help")
+ assert "custom_option" in l.master.options
+
+ # calling this again with the same signature is a no-op.
l.add_option("custom_option", bool, False, "help")
+ assert not tctx.master.has_log("Over-riding existing option")
+
+ # a different signature should emit a warning though.
+ l.add_option("custom_option", bool, True, "help")
+ assert tctx.master.has_log("Over-riding existing option")
def cmd(a: str) -> str:
return "foo"
@@ -115,7 +122,12 @@ def test_simple():
a.add(TAddon("one"))
a.trigger("done")
a.trigger("tick")
- tctx.master.has_log("not callable")
+ assert tctx.master.has_log("not callable")
+
+ tctx.master.clear()
+ a.get("one").tick = addons
+ a.trigger("tick")
+ assert not tctx.master.has_log("not callable")
a.remove(a.get("one"))
assert not a.get("one")
@@ -125,10 +137,12 @@ def test_simple():
a.trigger("custom")
assert ta.custom_called
+ assert ta in a
+
def test_load_option():
o = options.Options()
- m = master.Master(o, proxy.DummyServer(o))
+ m = master.Master(o)
a = addonmanager.AddonManager(m)
a.add(AOption())
assert "custom_option" in m.options._options
@@ -136,7 +150,7 @@ def test_load_option():
def test_nesting():
o = options.Options()
- m = master.Master(o, proxy.DummyServer(o))
+ m = master.Master(o)
a = addonmanager.AddonManager(m)
a.add(