1from unit.applications.lang.ruby import ApplicationRuby 2 3prerequisites = {'modules': {'ruby': 'any'}, 'features': {'isolation': True}} 4 5client = ApplicationRuby() 6 7 8def test_ruby_isolation_rootfs(is_su, require, temp_dir): 9 isolation = {'rootfs': temp_dir} 10 11 if not is_su: 12 require( 13 { 14 'features': { 15 'isolation': [ 16 'unprivileged_userns_clone', 17 'user', 18 'mnt', 19 'pid', 20 ] 21 } 22 } 23 ) 24 25 isolation['namespaces'] = { 26 'mount': True, 27 'credential': True, 28 'pid': True, 29 } 30 31 client.load('status_int', isolation=isolation) 32 33 assert 'success' in client.conf( 34 '"/ruby/status_int/config.ru"', 35 'applications/status_int/script', 36 ) 37 38 assert 'success' in client.conf( 39 '"/ruby/status_int"', 40 'applications/status_int/working_directory', 41 ) 42 43 assert client.get()['status'] == 200, 'status int' 44