aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/test.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-07-30 17:29:36 +1200
committerAldo Cortesi <aldo@nullcube.com>2012-07-30 17:29:36 +1200
commite52a37ffa962f662cfcab8056c8af5b0ac9f416b (patch)
treea7d9f4edf1080422edd19f1360298e914628e675 /libpathod/test.py
parente26aac1d3c6e4ca9f09cffa9d61d5a632dc35f14 (diff)
downloadmitmproxy-e52a37ffa962f662cfcab8056c8af5b0ac9f416b.tar.gz
mitmproxy-e52a37ffa962f662cfcab8056c8af5b0ac9f416b.tar.bz2
mitmproxy-e52a37ffa962f662cfcab8056c8af5b0ac9f416b.zip
Cleanup of libpathod.test, test example for front page.
Diffstat (limited to 'libpathod/test.py')
-rw-r--r--libpathod/test.py30
1 files changed, 23 insertions, 7 deletions
diff --git a/libpathod/test.py b/libpathod/test.py
index d5089d2c..53daa5bf 100644
--- a/libpathod/test.py
+++ b/libpathod/test.py
@@ -2,15 +2,21 @@ import json, threading, Queue
import requests
import pathod, utils
-IFACE = "127.0.0.1"
class Daemon:
+ IFACE = "127.0.0.1"
def __init__(self, ssl=None, **daemonargs):
self.q = Queue.Queue()
- self.thread = PaThread(self.q, ssl, daemonargs)
+ self.thread = _PaThread(self.IFACE, self.q, ssl, daemonargs)
self.thread.start()
self.port = self.q.get(True, 5)
- self.urlbase = "%s://%s:%s"%("https" if ssl else "http", IFACE, self.port)
+ self.urlbase = "%s://%s:%s"%("https" if ssl else "http", self.IFACE, self.port)
+
+ def p(self, spec):
+ """
+ Return a URL that will render the response in spec.
+ """
+ return "%s/p/%s"%(self.urlbase, spec)
def info(self):
"""
@@ -19,6 +25,16 @@ class Daemon:
resp = requests.get("%s/api/info"%self.urlbase, verify=False)
return resp.json
+ def last_log(self):
+ """
+ Returns the last logged request. Raises AssertionError if no
+ requests have been logged.
+ """
+ l = self.log()
+ if not l:
+ raise AssertionError("No requests logged")
+ return l[-1]
+
def log(self):
"""
Return the log buffer as a list of dictionaries.
@@ -41,10 +57,10 @@ class Daemon:
self.thread.join()
-class PaThread(threading.Thread):
- def __init__(self, q, ssl, daemonargs):
+class _PaThread(threading.Thread):
+ def __init__(self, iface, q, ssl, daemonargs):
threading.Thread.__init__(self)
- self.q, self.ssl = q, ssl
+ self.iface, self.q, self.ssl = iface, q, ssl
self.daemonargs = daemonargs
def run(self):
@@ -56,7 +72,7 @@ class PaThread(threading.Thread):
else:
ssloptions = self.ssl
self.server = pathod.Pathod(
- (IFACE, 0),
+ (self.iface, 0),
ssloptions = ssloptions,
**self.daemonargs
)