mitmproxy/test/test_app.py

63 lines
1.7 KiB
Python
Raw Normal View History

import libpry
from libpathod import app
from tornado import httpserver
class uApplication(libpry.AutoTree):
2012-04-29 00:05:38 +00:00
def test_anchors(self):
a = app.PathodApp(staticdir=None)
a.add_anchor("/foo", "200")
assert a.get_anchors() == [("/foo", "200")]
a.add_anchor("/bar", "400")
assert a.get_anchors() == [("/bar", "400"), ("/foo", "200")]
a.remove_anchor("/bar", "400")
assert a.get_anchors() == [("/foo", "200")]
a.remove_anchor("/oink", "400")
assert a.get_anchors() == [("/foo", "200")]
2012-04-29 00:05:38 +00:00
2012-04-29 02:59:54 +00:00
def test_logs(self):
a = app.PathodApp(staticdir=None)
a.LOGBUF = 3
a.add_log({})
assert a.log[0]["id"] == 0
a.add_log({})
a.add_log({})
assert a.log[0]["id"] == 2
a.add_log({})
assert len(a.log) == 3
assert a.log[0]["id"] == 3
assert a.log[-1]["id"] == 1
2012-04-29 00:05:38 +00:00
assert a.log_by_id(1)["id"] == 1
assert not a.log_by_id(0)
2012-04-29 00:05:38 +00:00
class uPages(libpry.AutoTree):
def dummy_page(self, path):
# A hideous, hideous kludge, but Tornado seems to have no more sensible
# way to do this.
a = app.PathodApp(staticdir=None)
for h in a.handlers[0][1]:
if h.regex.match(path):
klass = h.handler_class
r = httpserver.HTTPRequest("GET", path)
del r.connection
return klass(a, r)
def test_index(self):
page = self.dummy_page("/")
page.get()
assert "".join(page._write_buffer)
def test_help(self):
page = self.dummy_page("/help")
page.get()
assert "".join(page._write_buffer)
tests = [
2012-04-29 00:05:38 +00:00
uApplication(),
uPages()
]