summaryrefslogtreecommitdiffhomepage
path: root/test/test_static_chroot.py
diff options
context:
space:
mode:
authorAndrei Zeliankou <zelenkov@nginx.com>2023-06-12 14:16:59 +0100
committerAndrei Zeliankou <zelenkov@nginx.com>2023-06-12 14:16:59 +0100
commitce2405ec3dd97e8bdf8f63312e3c6ce59ef562d4 (patch)
tree818e60eb10d7f2be90f25003b3a2b347314e966f /test/test_static_chroot.py
parenta3b9b49cfb091410ca8f3c8d9df24d1fe184f8e0 (diff)
downloadunit-ce2405ec3dd97e8bdf8f63312e3c6ce59ef562d4.tar.gz
unit-ce2405ec3dd97e8bdf8f63312e3c6ce59ef562d4.tar.bz2
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.
Diffstat (limited to 'test/test_static_chroot.py')
-rw-r--r--test/test_static_chroot.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/test/test_static_chroot.py b/test/test_static_chroot.py
index 812e14ea..21a47a78 100644
--- a/test/test_static_chroot.py
+++ b/test/test_static_chroot.py
@@ -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']}
+class TestStaticChroot(TestApplicationProto):
@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'