aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/test/taddons.py
diff options
context:
space:
mode:
Diffstat (limited to 'mitmproxy/test/taddons.py')
-rw-r--r--mitmproxy/test/taddons.py31
1 files changed, 7 insertions, 24 deletions
diff --git a/mitmproxy/test/taddons.py b/mitmproxy/test/taddons.py
index 73e57456..509f8d53 100644
--- a/mitmproxy/test/taddons.py
+++ b/mitmproxy/test/taddons.py
@@ -17,10 +17,6 @@ class TestAddons(addonmanager.AddonManager):
def trigger(self, event, *args, **kwargs):
if event == "log":
self.master.logs.append(args[0])
- elif event == "tick" and not args and not kwargs:
- pass
- else:
- self.master.events.append((event, args, kwargs))
super().trigger(event, *args, **kwargs)
@@ -28,14 +24,13 @@ class RecordingMaster(mitmproxy.master.Master):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.addons = TestAddons(self)
- self.events = []
self.logs = []
def dump_log(self, outf=sys.stdout):
for i in self.logs:
print("%s: %s" % (i.level, i.msg), file=outf)
- def _has_log(self, txt, level=None):
+ def has_log(self, txt, level=None):
for i in self.logs:
if level and i.level != level:
continue
@@ -45,18 +40,12 @@ class RecordingMaster(mitmproxy.master.Master):
async def await_log(self, txt, level=None):
for i in range(20):
- if self._has_log(txt, level):
+ if self.has_log(txt, level):
return True
else:
await asyncio.sleep(0.1)
return False
- def has_event(self, name):
- for i in self.events:
- if i[0] == name:
- return True
- return False
-
def clear(self):
self.logs = []
@@ -112,22 +101,16 @@ class context:
if addon not in self.master.addons:
self.master.addons.register(addon)
with self.options.rollback(kwargs.keys(), reraise=True):
- self.options.update(**kwargs)
- self.master.addons.invoke_addon(
- addon,
- "configure",
- kwargs.keys()
- )
+ if kwargs:
+ self.options.update(**kwargs)
+ else:
+ self.master.addons.invoke_addon(addon, "configure", {})
def script(self, path):
"""
Loads a script from path, and returns the enclosed addon.
"""
- sc = script.Script(path)
- loader = addonmanager.Loader(self.master)
- self.master.addons.invoke_addon(sc, "load", loader)
- self.configure(sc)
- self.master.addons.invoke_addon(sc, "tick")
+ sc = script.Script(path, False)
return sc.addons[0] if sc.addons else None
def invoke(self, addon, event, *args, **kwargs):