summaryrefslogtreecommitdiffhomepage
path: root/test/test_proxy.py
diff options
context:
space:
mode:
authorAndrei Zeliankou <zelenkov@nginx.com>2023-05-25 16:56:14 +0100
committerAndrei Zeliankou <zelenkov@nginx.com>2023-05-25 16:56:14 +0100
commit18fcc07c7796889fe1cc4bc86564459ccd387ae7 (patch)
treeb38ea8171bb88ccdee8317747389789944198fc4 /test/test_proxy.py
parent3e4fa1e2022970dee003bea0932ea0c10f8744ba (diff)
downloadunit-18fcc07c7796889fe1cc4bc86564459ccd387ae7.tar.gz
unit-18fcc07c7796889fe1cc4bc86564459ccd387ae7.tar.bz2
Tests: unified setup method usage.
To make fixtures accessible inside of setup methods in tests all these methods are renamed to the "setup_method_fixture" and decorated by autouse flag. Also all setup methods moved to the top of the files.
Diffstat (limited to 'test/test_proxy.py')
-rw-r--r--test/test_proxy.py77
1 files changed, 39 insertions, 38 deletions
diff --git a/test/test_proxy.py b/test/test_proxy.py
index 2f1775cb..23b4a6a4 100644
--- a/test/test_proxy.py
+++ b/test/test_proxy.py
@@ -14,6 +14,45 @@ class TestProxy(TestApplicationPython):
SERVER_PORT = 7999
+ @pytest.fixture(autouse=True)
+ def setup_method_fixture(self):
+ run_process(self.run_server, self.SERVER_PORT)
+ waitforsocket(self.SERVER_PORT)
+
+ python_dir = f'{option.test_dir}/python'
+ assert 'success' in self.conf(
+ {
+ "listeners": {
+ "*:7080": {"pass": "routes"},
+ "*:7081": {"pass": "applications/mirror"},
+ },
+ "routes": [{"action": {"proxy": "http://127.0.0.1:7081"}}],
+ "applications": {
+ "mirror": {
+ "type": self.get_application_type(),
+ "processes": {"spare": 0},
+ "path": f'{python_dir}/mirror',
+ "working_directory": f'{python_dir}/mirror',
+ "module": "wsgi",
+ },
+ "custom_header": {
+ "type": self.get_application_type(),
+ "processes": {"spare": 0},
+ "path": f'{python_dir}/custom_header',
+ "working_directory": f'{python_dir}/custom_header',
+ "module": "wsgi",
+ },
+ "delayed": {
+ "type": self.get_application_type(),
+ "processes": {"spare": 0},
+ "path": f'{python_dir}/delayed',
+ "working_directory": f'{python_dir}/delayed',
+ "module": "wsgi",
+ },
+ },
+ }
+ ), 'proxy initial configuration'
+
@staticmethod
def run_server(server_port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
@@ -59,44 +98,6 @@ Content-Length: 10
def post_http10(self, *args, **kwargs):
return self.post(*args, http_10=True, **kwargs)
- def setup_method(self):
- run_process(self.run_server, self.SERVER_PORT)
- waitforsocket(self.SERVER_PORT)
-
- python_dir = f'{option.test_dir}/python'
- assert 'success' in self.conf(
- {
- "listeners": {
- "*:7080": {"pass": "routes"},
- "*:7081": {"pass": "applications/mirror"},
- },
- "routes": [{"action": {"proxy": "http://127.0.0.1:7081"}}],
- "applications": {
- "mirror": {
- "type": self.get_application_type(),
- "processes": {"spare": 0},
- "path": f'{python_dir}/mirror',
- "working_directory": f'{python_dir}/mirror',
- "module": "wsgi",
- },
- "custom_header": {
- "type": self.get_application_type(),
- "processes": {"spare": 0},
- "path": f'{python_dir}/custom_header',
- "working_directory": f'{python_dir}/custom_header',
- "module": "wsgi",
- },
- "delayed": {
- "type": self.get_application_type(),
- "processes": {"spare": 0},
- "path": f'{python_dir}/delayed',
- "working_directory": f'{python_dir}/delayed',
- "module": "wsgi",
- },
- },
- }
- ), 'proxy initial configuration'
-
def test_proxy_http10(self):
for _ in range(10):
assert self.get_http10()['status'] == 200, 'status'