2012-04-28 22:56:33 +00:00
|
|
|
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")
|
2012-04-29 00:15:25 +00:00
|
|
|
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
|
|
|
|
|
|
|
class uPages(libpry.AutoTree):
|
2012-04-28 22:56:33 +00:00
|
|
|
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()
|
2012-04-28 22:56:33 +00:00
|
|
|
]
|