Deleted Added
1import pytest
2
3from unit.applications.lang.python import TestApplicationPython
4from unit.feature.isolation import TestFeatureIsolation
5
6
7class TestPythonIsolation(TestApplicationPython):
8 prerequisites = {'modules': {'python': 'any'}}
9
10 def test_python_isolation_chroot(self, is_su):
11 if not is_su:
12 pytest.skip('requires root')
13
14 isolation = {
15 'rootfs': self.temp_dir,
16 }
17
18 self.load('empty', isolation=isolation)
19
20 assert self.get()['status'] == 200, 'python chroot'
21
22 self.load('ns_inspect', isolation=isolation)
23
24 assert (
25 self.getjson(url='/?path=' + self.temp_dir)['body']['FileExists']
26 == False
27 ), 'temp_dir does not exists in rootfs'
28
29 assert (
30 self.getjson(url='/?path=/proc/self')['body']['FileExists']
31 == False
32 ), 'no /proc/self'
33
34 assert (
35 self.getjson(url='/?path=/dev/pts')['body']['FileExists'] == False
36 ), 'no /dev/pts'
37
38 assert (
39 self.getjson(url='/?path=/sys/kernel')['body']['FileExists']
40 == False
41 ), 'no /sys/kernel'
42
43 ret = self.getjson(url='/?path=/app/python/ns_inspect')
44
45 assert (
46 ret['body']['FileExists'] == True
47 ), 'application exists in rootfs'