aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_pathod.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_pathod.py')
-rw-r--r--test/test_pathod.py51
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