forked from csernazs/pytest-httpserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_port_changing.py
More file actions
43 lines (29 loc) · 1.18 KB
/
test_port_changing.py
File metadata and controls
43 lines (29 loc) · 1.18 KB
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
import os
import pytest
from pytest_httpserver import HTTPServer
from pytest_httpserver.pytest_plugin import get_httpserver_listen_address
PORT_KEY = "PYTEST_HTTPSERVER_PORT"
HOST_KEY = "PYTEST_HTTPSERVER_HOST"
@pytest.fixture
def tmpenv():
old_vars = {}
for key in (HOST_KEY, PORT_KEY):
old_vars[key] = os.environ.get(key)
os.environ[HOST_KEY] = "5.5.5.5"
os.environ[PORT_KEY] = "12345"
yield
for key, value in old_vars.items():
if value:
os.environ[key] = value
else:
del os.environ[key]
@pytest.mark.skipif(HOST_KEY not in os.environ, reason="requires {} environment variable".format(HOST_KEY))
def test_host_changing_by_environment(httpserver: HTTPServer):
assert httpserver.host == os.environ[HOST_KEY]
@pytest.mark.skipif(PORT_KEY not in os.environ, reason="requires {} environment variable".format(PORT_KEY))
def test_port_changing_by_environment(httpserver: HTTPServer):
assert httpserver.port == int(os.environ[PORT_KEY])
def test_get_httpserver_listen_address_with_env(tmpenv): # noqa: ARG001
address = get_httpserver_listen_address()
assert address[0] == "5.5.5.5"
assert address[1] == 12345