2017-05-24 15:22:59 +00:00
|
|
|
import os
|
2012-06-06 23:23:23 +00:00
|
|
|
import requests
|
2017-02-01 15:48:46 +00:00
|
|
|
import pytest
|
|
|
|
|
2016-11-01 21:06:25 +00:00
|
|
|
from mitmproxy.test import tutils
|
2017-05-24 15:22:59 +00:00
|
|
|
from pathod import test
|
|
|
|
from pathod.pathod import SSLOptions, CA_CERT_NAME
|
2016-06-02 07:40:39 +00:00
|
|
|
|
2014-10-24 01:01:34 +00:00
|
|
|
|
2012-06-09 03:08:51 +00:00
|
|
|
class TestDaemonManual:
|
2015-06-18 16:12:11 +00:00
|
|
|
|
2012-06-21 03:39:40 +00:00
|
|
|
def test_simple(self):
|
2012-07-30 08:58:59 +00:00
|
|
|
with test.Daemon() as d:
|
2015-05-30 00:03:13 +00:00
|
|
|
rsp = requests.get("http://localhost:%s/p/202:da" % d.port)
|
2012-07-30 08:58:59 +00:00
|
|
|
assert rsp.ok
|
|
|
|
assert rsp.status_code == 202
|
2017-02-01 15:48:46 +00:00
|
|
|
with pytest.raises(requests.ConnectionError):
|
2015-12-03 17:45:37 +00:00
|
|
|
requests.get("http://localhost:%s/p/202:da" % d.port)
|
2012-06-07 05:02:17 +00:00
|
|
|
|
2017-05-24 15:22:59 +00:00
|
|
|
@pytest.mark.parametrize('not_after_connect', [True, False])
|
|
|
|
def test_startstop_ssl(self, not_after_connect):
|
|
|
|
ssloptions = SSLOptions(
|
|
|
|
cn=b'localhost',
|
|
|
|
sans=[b'localhost', b'127.0.0.1'],
|
|
|
|
not_after_connect=not_after_connect,
|
2012-06-07 05:02:17 +00:00
|
|
|
)
|
2017-05-24 15:22:59 +00:00
|
|
|
d = test.Daemon(ssl=True, ssloptions=ssloptions)
|
2015-05-30 00:03:13 +00:00
|
|
|
rsp = requests.get(
|
2017-05-24 15:22:59 +00:00
|
|
|
"https://localhost:%s/p/202:da" % d.port,
|
|
|
|
verify=os.path.join(d.thread.server.ssloptions.confdir, CA_CERT_NAME))
|
2012-06-07 05:02:17 +00:00
|
|
|
assert rsp.ok
|
|
|
|
assert rsp.status_code == 202
|
|
|
|
d.shutdown()
|
2017-02-01 15:48:46 +00:00
|
|
|
with pytest.raises(requests.ConnectionError):
|
2015-12-03 17:45:37 +00:00
|
|
|
requests.get("http://localhost:%s/p/202:da" % d.port)
|