Files
nginx-unit/test/test_python_isolation_chroot.py
Andrei Zeliankou ce2405ec3d 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.
2023-06-12 14:16:59 +01:00

31 lines
975 B
Python

from unit.applications.lang.python import TestApplicationPython
prerequisites = {'modules': {'python': 'any'}, 'privileged_user': True}
class TestPythonIsolation(TestApplicationPython):
def test_python_isolation_chroot(self, temp_dir):
isolation = {'rootfs': temp_dir}
self.load('ns_inspect', isolation=isolation)
assert not (
self.getjson(url=f'/?path={temp_dir}')['body']['FileExists']
), 'temp_dir does not exists in rootfs'
assert self.getjson(url='/?path=/proc/self')['body'][
'FileExists'
], 'no /proc/self'
assert not (
self.getjson(url='/?path=/dev/pts')['body']['FileExists']
), 'no /dev/pts'
assert not (
self.getjson(url='/?path=/sys/kernel')['body']['FileExists']
), 'no /sys/kernel'
ret = self.getjson(url='/?path=/app/python/ns_inspect')
assert ret['body']['FileExists'], 'application exists in rootfs'