aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_pathod.py
blob: 9c16748d13feebd3cf3e5c7299b92d677075babc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from libpathod import pathod

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")]

    def test_logs(self):
        a = pathod.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

        assert a.log_by_id(1)["id"] == 1
        assert not a.log_by_id(0)


class TestPathod:
    def test_instantiation(self):
        p = pathod.Pathod(("127.0.0.1", 0))

    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