diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_dump.py | 17 | ||||
-rw-r--r-- | test/test_flow.py | 18 | ||||
-rw-r--r-- | test/utils.py | 2 |
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) + |