Implement and unit test not-after-connect option.

This commit is contained in:
Aldo Cortesi 2013-01-05 20:36:06 +13:00
parent 5493925ea0
commit ed7ef84557
3 changed files with 22 additions and 10 deletions

View File

@ -70,6 +70,7 @@ class PathodHandler(tcp.BaseHandler):
'\r\n'
)
self.wfile.flush()
if not self.server.ssloptions.not_after_connect:
try:
self.convert_to_ssl(
self.server.ssloptions.certfile,

View File

@ -52,6 +52,14 @@ class TestNoApi(tutils.DaemonTests):
assert not "Log" in r.content
class TestNotAfterConnect(tutils.DaemonTests):
ssl = False
not_after_connect = True
def test_connect(self):
v = self.pathoc(r"get:'http://foo.com/p/202':da", connect_to=("localhost", self.d.port))
assert v[1] == 202
class TestNohang(tutils.DaemonTests):
nohang = True
def test_nohang(self):

View File

@ -1,6 +1,6 @@
import tempfile, os, shutil
from contextlib import contextmanager
from libpathod import utils, test, pathoc
from libpathod import utils, test, pathoc, pathod
import requests
class DaemonTests:
@ -10,12 +10,15 @@ class DaemonTests:
ssl = False
timeout = None
hexdump = False
not_after_connect = False
@classmethod
def setUpAll(self):
so = pathod.SSLOptions(not_after_connect = self.not_after_connect)
self.d = test.Daemon(
staticdir=test_data.path("data"),
anchors=[("/anchor/.*", "202:da")],
ssl = self.ssl,
ssloptions = so,
sizelimit=1*1024*1024,
noweb = self.noweb,
noapi = self.noapi,