diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2011-02-18 12:40:45 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2011-02-18 12:40:45 +1300 |
commit | cd4eea39348fc9d59d4f0cc3f71384f7c1c2b2e2 (patch) | |
tree | ae09d5a06c1d7f2ae6314fd5f96d6b506f454507 /test/test_dump.py | |
parent | 7769e5a898150451a52b5683c519ee04802310b8 (diff) | |
download | mitmproxy-cd4eea39348fc9d59d4f0cc3f71384f7c1c2b2e2.tar.gz mitmproxy-cd4eea39348fc9d59d4f0cc3f71384f7c1c2b2e2.tar.bz2 mitmproxy-cd4eea39348fc9d59d4f0cc3f71384f7c1c2b2e2.zip |
First pass of script hooks for mitmdump.
Also stub out docs, improve mitmdump error handling.
Diffstat (limited to 'test/test_dump.py')
-rw-r--r-- | test/test_dump.py | 72 |
1 files changed, 42 insertions, 30 deletions
diff --git a/test/test_dump.py b/test/test_dump.py index 0d0a6219..978bf138 100644 --- a/test/test_dump.py +++ b/test/test_dump.py @@ -6,7 +6,7 @@ import utils class uDumpMaster(libpry.AutoTree): - def _dummy_cycle(self, m): + def _cycle(self, m): req = utils.treq() cc = req.client_conn resp = utils.tresp(req) @@ -14,50 +14,64 @@ class uDumpMaster(libpry.AutoTree): m.handle_request(req) m.handle_response(resp) + def _dummy_cycle(self, filt, **options): + cs = StringIO() + o = dump.Options(**options) + m = dump.DumpMaster(None, o, filt, outfile=cs) + self._cycle(m) + return cs.getvalue() + def test_options(self): o = dump.Options(verbosity = 2) assert o.verbosity == 2 libpry.raises(AttributeError, dump.Options, nonexistent = 2) def test_filter(self): - cs = StringIO() - o = dump.Options( - verbosity = 1 - ) - m = dump.DumpMaster(None, o, "~u foo", outfile=cs) - self._dummy_cycle(m) - assert not "GET" in cs.getvalue() + assert not "GET" in self._dummy_cycle("~u foo", verbosity=1) def test_basic(self): for i in (1, 2, 3): - cs = StringIO() - o = dump.Options( - verbosity = i - ) - m = dump.DumpMaster(None, o, "~s", outfile=cs) - self._dummy_cycle(m) - assert "GET" in cs.getvalue() + assert "GET" in self._dummy_cycle("~s", verbosity=i) def test_write(self): d = self.tmpdir() p = os.path.join(d, "a") - o = dump.Options( - wfile = p, - verbosity = 0 - ) - cs = StringIO() - m = dump.DumpMaster(None, o, None, outfile=cs) - self._dummy_cycle(m) - del m + self._dummy_cycle(None, wfile=p, verbosity=0) assert len(list(flow.FlowReader(open(p)).stream())) == 1 def test_write_err(self): - o = dump.Options( - wfile = "nonexistentdir/foo", - verbosity = 0 + libpry.raises( + dump.DumpError, + self._dummy_cycle, + None, + wfile = "nonexistentdir/foo" + ) + + def test_request_script(self): + ret = self._dummy_cycle(None, request_script="scripts/a", verbosity=1) + assert "TESTOK" in ret + assert "DEBUG" in ret + libpry.raises( + dump.DumpError, + self._dummy_cycle, None, request_script="nonexistent" + ) + libpry.raises( + dump.DumpError, + self._dummy_cycle, None, request_script="scripts/err_data" + ) + + def test_response_script(self): + ret = self._dummy_cycle(None, response_script="scripts/a", verbosity=1) + assert "TESTOK" in ret + assert "DEBUG" in ret + libpry.raises( + dump.DumpError, + self._dummy_cycle, None, response_script="nonexistent" + ) + libpry.raises( + dump.DumpError, + self._dummy_cycle, None, response_script="scripts/err_data" ) - cs = StringIO() - libpry.raises(dump.DumpError, dump.DumpMaster, None, o, None) @@ -67,5 +81,3 @@ class uDumpMaster(libpry.AutoTree): tests = [ uDumpMaster() ] - - |