mitmproxy/test/pathod/test_test.py

53 lines
1.5 KiB
Python

import logging
import requests
import pytest
from pathod import test
from mitmproxy.test import tutils
import requests.packages.urllib3
requests.packages.urllib3.disable_warnings()
logging.disable(logging.CRITICAL)
class TestDaemonManual:
def test_simple(self):
with test.Daemon() as d:
rsp = requests.get("http://localhost:%s/p/202:da" % d.port)
assert rsp.ok
assert rsp.status_code == 202
with pytest.raises(requests.ConnectionError):
requests.get("http://localhost:%s/p/202:da" % d.port)
def test_startstop_ssl(self):
d = test.Daemon(ssl=True)
rsp = requests.get(
"https://localhost:%s/p/202:da" %
d.port,
verify=False)
assert rsp.ok
assert rsp.status_code == 202
d.shutdown()
with pytest.raises(requests.ConnectionError):
requests.get("http://localhost:%s/p/202:da" % d.port)
def test_startstop_ssl_explicit(self):
ssloptions = dict(
certfile=tutils.test_data.path("pathod/data/testkey.pem"),
cacert=tutils.test_data.path("pathod/data/testkey.pem"),
ssl_after_connect=False
)
d = test.Daemon(ssl=ssloptions)
rsp = requests.get(
"https://localhost:%s/p/202:da" %
d.port,
verify=False)
assert rsp.ok
assert rsp.status_code == 202
d.shutdown()
with pytest.raises(requests.ConnectionError):
requests.get("http://localhost:%s/p/202:da" % d.port)