aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2011-02-21 09:54:39 +1300
committerAldo Cortesi <aldo@nullcube.com>2011-02-21 09:54:39 +1300
commitfd4dd8cb6b9e4e2a0afe0ecbf1bff52c66ce4dba (patch)
tree47213a766006fdeb644d5225e6e0289980566bc6 /test
parentdeb79a9c5a1794ffa5f67fdefdfe24b42eeef9f4 (diff)
downloadmitmproxy-fd4dd8cb6b9e4e2a0afe0ecbf1bff52c66ce4dba.tar.gz
mitmproxy-fd4dd8cb6b9e4e2a0afe0ecbf1bff52c66ce4dba.tar.bz2
mitmproxy-fd4dd8cb6b9e4e2a0afe0ecbf1bff52c66ce4dba.zip
First pass of playback function for mitmdump.
Diffstat (limited to 'test')
-rw-r--r--test/test_dump.py17
-rw-r--r--test/test_flow.py18
-rw-r--r--test/utils.py2
3 files changed, 37 insertions, 0 deletions
diff --git a/test/test_dump.py b/test/test_dump.py
index 46dd6dfd..90540408 100644
--- a/test/test_dump.py
+++ b/test/test_dump.py
@@ -23,6 +23,23 @@ class uDumpMaster(libpry.AutoTree):
self._cycle(m, content)
return cs.getvalue()
+ def test_replay(self):
+ cs = StringIO()
+
+ o = dump.Options(replay="nonexistent")
+ libpry.raises(dump.DumpError, dump.DumpMaster, None, o, None, outfile=cs)
+
+ t = self.tmpdir()
+ p = os.path.join(t, "rep")
+ f = open(p, "w")
+ fw = flow.FlowWriter(f)
+ t = utils.tflow()
+ fw.add(t)
+ f.close()
+
+ o = dump.Options(replay=p)
+ m = dump.DumpMaster(None, o, None, outfile=cs)
+
def test_options(self):
o = dump.Options(verbosity = 2)
assert o.verbosity == 2
diff --git a/test/test_flow.py b/test/test_flow.py
index adfeda6e..cd88464d 100644
--- a/test/test_flow.py
+++ b/test/test_flow.py
@@ -309,6 +309,24 @@ class uFlowMaster(libpry.AutoTree):
err = proxy.Error(f.request, "msg")
fm.handle_error(err)
+ def test_replay(self):
+ s = flow.State()
+
+ f = utils.tflow()
+ f.response = utils.tresp(f.request)
+ pb = [f]
+
+ fm = flow.FlowMaster(None, s)
+ assert not fm.playback(utils.tflow())
+
+ fm.start_playback(pb)
+ assert fm.playback(utils.tflow())
+
+ fm.start_playback(pb)
+ r = utils.tflow()
+ r.request.content = "gibble"
+ assert not fm.playback(r)
+
tests = [
diff --git a/test/utils.py b/test/utils.py
index b1dc46d4..12646106 100644
--- a/test/utils.py
+++ b/test/utils.py
@@ -1,3 +1,4 @@
+import os.path
from libmproxy import proxy, utils, filt, flow
def treq(conn=None):
@@ -20,3 +21,4 @@ def tflow():
r = treq()
return flow.Flow(r)
+