aboutsummaryrefslogtreecommitdiffstats
path: root/test/tutils.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/tutils.py')
-rw-r--r--test/tutils.py128
1 files changed, 0 insertions, 128 deletions
diff --git a/test/tutils.py b/test/tutils.py
deleted file mode 100644
index 664cdd52..00000000
--- a/test/tutils.py
+++ /dev/null
@@ -1,128 +0,0 @@
-import tempfile
-import os
-import re
-import shutil
-import cStringIO
-from contextlib import contextmanager
-
-import netlib
-from libpathod import utils, test, pathoc, pathod, language
-from netlib import tcp
-import requests
-
-def treader(bytes):
- """
- Construct a tcp.Read object from bytes.
- """
- fp = cStringIO.StringIO(bytes)
- return tcp.Reader(fp)
-
-
-class DaemonTests(object):
- noweb = False
- noapi = False
- nohang = False
- ssl = False
- timeout = None
- hexdump = False
- ssloptions = None
- nocraft = False
-
- @classmethod
- def setup_class(cls):
- opts = cls.ssloptions or {}
- cls.confdir = tempfile.mkdtemp()
- opts["confdir"] = cls.confdir
- so = pathod.SSLOptions(**opts)
- cls.d = test.Daemon(
- staticdir=test_data.path("data"),
- anchors=[
- (re.compile("/anchor/.*"), "202:da")
- ],
- ssl=cls.ssl,
- ssloptions=so,
- sizelimit=1 * 1024 * 1024,
- noweb=cls.noweb,
- noapi=cls.noapi,
- nohang=cls.nohang,
- timeout=cls.timeout,
- hexdump=cls.hexdump,
- nocraft=cls.nocraft,
- logreq=True,
- logresp=True,
- explain=True
- )
-
- @classmethod
- def teardown_class(cls):
- cls.d.shutdown()
- shutil.rmtree(cls.confdir)
-
- def teardown(self):
- if not (self.noweb or self.noapi):
- self.d.clear_log()
-
- def getpath(self, path, params=None):
- scheme = "https" if self.ssl else "http"
- resp = requests.get(
- "%s://localhost:%s/%s" % (
- scheme,
- self.d.port,
- path
- ),
- verify=False,
- params=params
- )
- return resp
-
- def get(self, spec):
- resp = requests.get(self.d.p(spec), verify=False)
- return resp
-
- def pathoc(
- self,
- specs,
- timeout=None,
- connect_to=None,
- ssl=None,
- ws_read_limit=None,
- use_http2=False,
- ):
- """
- Returns a (messages, text log) tuple.
- """
- if ssl is None:
- ssl = self.ssl
- logfp = cStringIO.StringIO()
- c = pathoc.Pathoc(
- ("localhost", self.d.port),
- ssl=ssl,
- ws_read_limit=ws_read_limit,
- timeout=timeout,
- fp=logfp,
- use_http2=use_http2,
- )
- c.connect(connect_to)
- ret = []
- for i in specs:
- resp = c.request(i)
- if resp:
- ret.append(resp)
- for frm in c.wait():
- ret.append(frm)
- c.stop()
- return ret, logfp.getvalue()
-
-
-tmpdir = netlib.tutils.tmpdir
-
-raises = netlib.tutils.raises
-
-test_data = utils.Data(__name__)
-
-
-def render(r, settings=language.Settings()):
- r = r.resolve(settings)
- s = cStringIO.StringIO()
- assert language.serve(r, s, settings)
- return s.getvalue()