Tests: prerequisites checking reworked.

Prerequisites check moved to the module level to simplify class structure.
Discovery and prerequisites checks functions moved to the separate files.
Introduced "require" fixture to provide per-test requirements check.
This commit is contained in:
Andrei Zeliankou
2023-06-12 14:16:59 +01:00
parent a3b9b49cfb
commit ce2405ec3d
79 changed files with 524 additions and 548 deletions

View File

@@ -2,12 +2,9 @@ import os
import pytest
from unit.applications.proto import TestApplicationProto
from unit.option import option
class TestRewrite(TestApplicationProto):
prerequisites = {}
@pytest.fixture(autouse=True)
def setup_method_fixture(self):
assert 'success' in self.conf(
@@ -97,9 +94,8 @@ class TestRewrite(TestApplicationProto):
)
assert self.get(url='/foo?arg=val')['status'] == 200
def test_rewrite_njs(self):
if 'njs' not in option.available['modules'].keys():
pytest.skip('NJS is not available')
def test_rewrite_njs(self, require):
require({'modules': {'njs': 'any'}})
self.set_rewrite("`/${host}`", "/localhost")
assert self.get()['status'] == 200