from libpathod import pathod import tutils class _TestApplication: def test_anchors(self): a = pathod.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")] class TestPathod: def test_instantiation(self): p = pathod.Pathod( ("127.0.0.1", 0), anchors = [(".*", "200")] ) assert p.anchors tutils.raises("invalid regex", pathod.Pathod, ("127.0.0.1", 0), anchors=[("*", "200")]) tutils.raises("invalid page spec", pathod.Pathod, ("127.0.0.1", 0), anchors=[("foo", "bar")]) def test_logging(self): p = pathod.Pathod(("127.0.0.1", 0)) assert len(p.get_log()) == 0 id = p.add_log(dict(s="foo")) assert p.log_by_id(id) assert len(p.get_log()) == 1 p.clear_log() assert len(p.get_log()) == 0 for i in range(p.LOGBUF + 1): p.add_log(dict(s="foo")) assert len(p.get_log()) <= p.LOGBUF