diff options
Diffstat (limited to 'test/test_pathod.py')
-rw-r--r-- | test/test_pathod.py | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/test/test_pathod.py b/test/test_pathod.py index 4073926f..bf15bc23 100644 --- a/test/test_pathod.py +++ b/test/test_pathod.py @@ -1,4 +1,5 @@ -from libpathod import pathod +import requests +from libpathod import pathod, test, version import tutils class _TestApplication: @@ -36,3 +37,51 @@ class TestPathod: for i in range(p.LOGBUF + 1): p.add_log(dict(s="foo")) assert len(p.get_log()) <= p.LOGBUF + + +class TestDaemon: + @classmethod + def setUpAll(self): + self.d = test.Daemon( + staticdir=tutils.test_data.path("data"), + anchors=[("/anchor/.*", "202")] + ) + + @classmethod + def tearDownAll(self): + self.d.shutdown() + + def setUp(self): + self.d.clear_log() + + def getpath(self, path): + return requests.get("http://localhost:%s/%s"%(self.d.port, path)) + + def get(self, spec): + return requests.get("http://localhost:%s/p/%s"%(self.d.port, spec)) + + def test_info(self): + assert tuple(self.d.info()["version"]) == version.IVERSION + + def test_logs(self): + rsp = self.get("202") + assert len(self.d.log()) == 1 + assert self.d.clear_log() + assert len(self.d.log()) == 0 + + def test_disconnect(self): + rsp = self.get("202:b@100k:d200") + assert len(rsp.content) < 200 + + def test_parserr(self): + rsp = self.get("400:msg,b:") + assert rsp.status_code == 800 + + def test_static(self): + rsp = self.get("200:b<file") + assert rsp.status_code == 200 + assert rsp.content.strip() == "testfile" + + def test_anchor(self): + rsp = self.getpath("anchor/foo") + assert rsp.status_code == 202 |