aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'libpathod/test.py')
-rw-r--r--libpathod/test.py29
1 files changed, 17 insertions, 12 deletions
diff --git a/libpathod/test.py b/libpathod/test.py
index 53cbd8d5..508605bf 100644
--- a/libpathod/test.py
+++ b/libpathod/test.py
@@ -1,36 +1,41 @@
import json, threading, Queue
import requests
-import pathod
+import pathod, utils
IFACE = "127.0.0.1"
class Daemon:
- def __init__(self, staticdir=None, anchors=()):
+ def __init__(self, staticdir=None, anchors=(), ssl=None):
self.app = pathod.make_app(staticdir=staticdir, anchors=anchors)
self.q = Queue.Queue()
- self.thread = PaThread(self.q, self.app)
+ self.thread = PaThread(self.q, self.app, ssl)
self.thread.start()
self.port = self.q.get(True, 5)
- self.urlbase = "http://%s:%s"%(IFACE, self.port)
+ self.urlbase = "%s://%s:%s"%("https" if ssl else "http", IFACE, self.port)
def info(self):
- resp = requests.get("%s/api/info"%self.urlbase)
- if resp.ok:
- return json.loads(resp.read())
+ resp = requests.get("%s/api/info"%self.urlbase, verify=False)
+ return resp.json
def shutdown(self):
- requests.post("%s/api/shutdown"%self.urlbase)
+ requests.post("%s/api/shutdown"%self.urlbase, verify=False)
class PaThread(threading.Thread):
- def __init__(self, q, app):
+ def __init__(self, q, app, ssl):
threading.Thread.__init__(self)
- self.q = q
- self.app = app
+ self.q, self.app, self.ssl = q, app, ssl
self.port = None
# begin nocover
def run(self):
- self.server, self.port = pathod.make_server(self.app, 0, IFACE, None)
+ if self.ssl is True:
+ ssloptions = dict(
+ keyfile = utils.data.path("resources/server.key"),
+ certfile = utils.data.path("resources/server.crt"),
+ )
+ else:
+ ssloptions = self.ssl
+ self.server, self.port = pathod.make_server(self.app, 0, IFACE, ssloptions)
self.q.put(self.port)
pathod.run(self.server)