aboutsummaryrefslogtreecommitdiffstats
path: root/test/pathod/test_test.py
blob: 40f45f53f5409fd8f9004dc0d3a392bf7c6c9092 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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)