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:
@@ -5,10 +5,10 @@ import pytest
|
||||
from unit.applications.proto import TestApplicationProto
|
||||
from unit.option import option
|
||||
|
||||
prerequisites = {'features': {'chroot': True}}
|
||||
|
||||
|
||||
class TestStaticChroot(TestApplicationProto):
|
||||
prerequisites = {'features': ['chroot']}
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_method_fixture(self, temp_dir):
|
||||
os.makedirs(f'{temp_dir}/assets/dir')
|
||||
@@ -62,9 +62,8 @@ class TestStaticChroot(TestApplicationProto):
|
||||
)
|
||||
assert self.get()['status'] != 200, 'share array bad'
|
||||
|
||||
def test_static_chroot_permission(self, is_su, temp_dir):
|
||||
if is_su:
|
||||
pytest.skip("does't work under root")
|
||||
def test_static_chroot_permission(self, require, temp_dir):
|
||||
require({'privileged_user': False})
|
||||
|
||||
os.chmod(f'{temp_dir}/assets/dir', 0o100)
|
||||
|
||||
@@ -81,9 +80,8 @@ class TestStaticChroot(TestApplicationProto):
|
||||
assert 'success' in self.update_action("", ".$uri")
|
||||
assert self.get(url=self.test_path)['status'] == 200, 'empty relative'
|
||||
|
||||
def test_static_chroot_relative(self, is_su):
|
||||
if is_su:
|
||||
pytest.skip("Does't work under root.")
|
||||
def test_static_chroot_relative(self, require):
|
||||
require({'privileged_user': False})
|
||||
|
||||
assert 'success' in self.update_action('.')
|
||||
assert self.get(url='/dir/file')['status'] == 403, 'relative chroot'
|
||||
|
||||
Reference in New Issue
Block a user