mirror of
https://github.com/9001/copyparty.git
synced 2026-08-13 13:53:06 -06:00
fix tests
This commit is contained in:
parent
2c8325a770
commit
741b00f342
|
|
@ -48,6 +48,10 @@ class TestVFS(unittest.TestCase):
|
|||
self.assertAxs(vn.axs, expected)
|
||||
|
||||
def assertNodes(self, vfs, expected):
|
||||
got = list(sorted(vfs.nodes.keys()))
|
||||
self.assertEqual(got, [".hist"] + expected)
|
||||
|
||||
def assertJump(self, vfs, expected):
|
||||
got = list(sorted(vfs.nodes.keys()))
|
||||
self.assertEqual(got, expected)
|
||||
|
||||
|
|
@ -55,6 +59,10 @@ class TestVFS(unittest.TestCase):
|
|||
vn = self.nav(au, vp)
|
||||
self.assertNodes(vn, expected)
|
||||
|
||||
def assertJumpAt(self, au, vp, expected):
|
||||
vn = self.nav(au, vp)
|
||||
self.assertJump(vn, expected)
|
||||
|
||||
def assertApEq(self, ap, rhs):
|
||||
if ANYWIN and len(ap) > 2 and ap[1] == ":":
|
||||
ap = ap[2:].replace("\\", "/")
|
||||
|
|
@ -114,14 +122,14 @@ class TestVFS(unittest.TestCase):
|
|||
|
||||
self.assertEqual(au.vfs.vpath, "")
|
||||
self.assertApEq(au.vfs.realpath, "")
|
||||
self.assertNodes(au.vfs, [])
|
||||
self.assertJump(au.vfs, [])
|
||||
self.assertAxs(au.vfs.axs, [])
|
||||
|
||||
au.idp_checkin(None, "iua", "iga")
|
||||
self.assertNodes(au.vfs, ["vg", "vu"])
|
||||
self.assertNodesAt(au, "vu", ["iua"]) # same as:
|
||||
self.assertNodes(au.vfs.nodes["vu"], ["iua"])
|
||||
self.assertNodes(au.vfs.nodes["vg"], ["iga"])
|
||||
self.assertJump(au.vfs, ["vg", "vu"])
|
||||
self.assertJumpAt(au, "vu", ["iua"]) # same as:
|
||||
self.assertJump(au.vfs.nodes["vu"], ["iua"])
|
||||
self.assertJump(au.vfs.nodes["vg"], ["iga"])
|
||||
self.assertApEq(au.vfs.nodes["vu"].realpath, "")
|
||||
self.assertApEq(au.vfs.nodes["vg"].realpath, "")
|
||||
self.assertApEq(au.vfs.nodes["vu"].nodes["iua"].realpath, "/uiua")
|
||||
|
|
@ -140,17 +148,17 @@ class TestVFS(unittest.TestCase):
|
|||
|
||||
self.assertEqual(au.vfs.vpath, "")
|
||||
self.assertApEq(au.vfs.realpath, "")
|
||||
self.assertNodes(au.vfs, ["vu"])
|
||||
self.assertNodesAt(au, "vu", ["ua", "ub"])
|
||||
self.assertJump(au.vfs, ["vu"])
|
||||
self.assertJumpAt(au, "vu", ["ua", "ub"])
|
||||
self.assertAxs(au.vfs.axs, [])
|
||||
self.assertAxsAt(au, "vu", [])
|
||||
self.assertAxsAt(au, "vu/ua", [["ua"]])
|
||||
self.assertAxsAt(au, "vu/ub", [["ub"]])
|
||||
|
||||
au.idp_checkin(None, "iua", "iga")
|
||||
self.assertNodes(au.vfs, ["vg", "vu"])
|
||||
self.assertNodesAt(au, "vu", ["iua", "ua", "ub"])
|
||||
self.assertNodesAt(au, "vg", ["iga1", "iga2"])
|
||||
self.assertJump(au.vfs, ["vg", "vu"])
|
||||
self.assertJumpAt(au, "vu", ["iua", "ua", "ub"])
|
||||
self.assertJumpAt(au, "vg", ["iga1", "iga2"])
|
||||
self.assertAxs(au.vfs.axs, [])
|
||||
self.assertAxsAt(au, "vu", [])
|
||||
self.assertAxsAt(au, "vu/iua", [["iua"]])
|
||||
|
|
@ -178,23 +186,23 @@ class TestVFS(unittest.TestCase):
|
|||
|
||||
self.assertEqual(au.vfs.vpath, "")
|
||||
self.assertApEq(au.vfs.realpath, "")
|
||||
self.assertNodes(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertJump(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertAxs(au.vfs.axs, [])
|
||||
|
||||
au.idp_checkin(None, "iua", "ga")
|
||||
self.assertNodes(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertJump(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertAxsAt(au, "g", [["iua"]])
|
||||
self.assertAxsAt(au, "ga", [["iua"]])
|
||||
self.assertAxsAt(au, "gb", [])
|
||||
|
||||
au.idp_checkin(None, "iua", "gb")
|
||||
self.assertNodes(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertJump(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertAxsAt(au, "g", [["iua"]])
|
||||
self.assertAxsAt(au, "ga", [])
|
||||
self.assertAxsAt(au, "gb", [["iua"]])
|
||||
|
||||
au.idp_checkin(None, "iua", "ga|gb")
|
||||
self.assertNodes(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertJump(au.vfs, ["g", "ga", "gb"])
|
||||
self.assertAxsAt(au, "g", [["iua"]])
|
||||
self.assertAxsAt(au, "ga", [["iua"]])
|
||||
self.assertAxsAt(au, "gb", [["iua"]])
|
||||
|
|
@ -209,17 +217,17 @@ class TestVFS(unittest.TestCase):
|
|||
self.assertAxs(au.vfs.axs, [])
|
||||
self.assertEqual(au.vfs.vpath, "")
|
||||
self.assertApEq(au.vfs.realpath, "")
|
||||
self.assertNodes(au.vfs, [])
|
||||
self.assertJump(au.vfs, [])
|
||||
|
||||
au.idp_checkin(None, "iua", "")
|
||||
star = ["*", "iua"]
|
||||
self.assertNodes(au.vfs, ["get", "priv"])
|
||||
self.assertJump(au.vfs, ["get", "priv"])
|
||||
self.assertAxsAt(au, "get/iua", [["iua"], [], [], [], star])
|
||||
self.assertAxsAt(au, "priv/iua", [["iua"], [], []])
|
||||
|
||||
au.idp_checkin(None, "iub", "")
|
||||
star = ["*", "iua", "iub"]
|
||||
self.assertNodes(au.vfs, ["get", "priv"])
|
||||
self.assertJump(au.vfs, ["get", "priv"])
|
||||
self.assertAxsAt(au, "get/iua", [["iua"], [], [], [], star])
|
||||
self.assertAxsAt(au, "get/iub", [["iub"], [], [], [], star])
|
||||
self.assertAxsAt(au, "priv/iua", [["iua"], [], []])
|
||||
|
|
@ -227,7 +235,7 @@ class TestVFS(unittest.TestCase):
|
|||
|
||||
au.idp_checkin(None, "iuc", "su")
|
||||
star = ["*", "iua", "iub", "iuc"]
|
||||
self.assertNodes(au.vfs, ["get", "priv", "team"])
|
||||
self.assertJump(au.vfs, ["get", "priv", "team"])
|
||||
self.assertAxsAt(au, "get/iua", [["iua", "iuc"], [], ["iuc"], [], star])
|
||||
self.assertAxsAt(au, "get/iub", [["iub", "iuc"], [], ["iuc"], [], star])
|
||||
self.assertAxsAt(au, "get/iuc", [["iuc"], [], ["iuc"], [], star])
|
||||
|
|
|
|||
|
|
@ -52,6 +52,14 @@ class TestVFS(unittest.TestCase):
|
|||
def log(self, src, msg, c=0):
|
||||
pass
|
||||
|
||||
def assertNodes(self, vfs, expected):
|
||||
got = list(sorted(vfs.nodes.keys()))
|
||||
self.assertEqual(got, [".hist"] + expected)
|
||||
|
||||
def assertJump(self, vfs, expected):
|
||||
got = list(sorted(vfs.nodes.keys()))
|
||||
self.assertEqual(got, expected)
|
||||
|
||||
def assertAxs(self, dct, lst):
|
||||
t1 = list(sorted(dct))
|
||||
t2 = list(sorted(lst))
|
||||
|
|
@ -81,7 +89,7 @@ class TestVFS(unittest.TestCase):
|
|||
# defaults
|
||||
self.wipe_vfs(td)
|
||||
vfs = AuthSrv(Cfg(), self.log).vfs
|
||||
self.assertEqual(vfs.nodes, {})
|
||||
self.assertNodes(vfs, [])
|
||||
self.assertEqual(vfs.vpath, "")
|
||||
self.assertEqual(vfs.realpath, td)
|
||||
self.assertAxs(vfs.axs.uread, ["*"])
|
||||
|
|
@ -90,7 +98,7 @@ class TestVFS(unittest.TestCase):
|
|||
# single read-only rootfs (relative path)
|
||||
self.wipe_vfs(td)
|
||||
vfs = AuthSrv(Cfg(v=["a/ab/::r"]), self.log).vfs
|
||||
self.assertEqual(vfs.nodes, {})
|
||||
self.assertNodes(vfs, [])
|
||||
self.assertEqual(vfs.vpath, "")
|
||||
self.assertEqual(vfs.realpath, os.path.join(td, "a", "ab"))
|
||||
self.assertAxs(vfs.axs.uread, ["*"])
|
||||
|
|
@ -99,7 +107,7 @@ class TestVFS(unittest.TestCase):
|
|||
# single read-only rootfs (absolute path)
|
||||
self.wipe_vfs(td)
|
||||
vfs = AuthSrv(Cfg(v=[td + "//a/ac/../aa//::r"]), self.log).vfs
|
||||
self.assertEqual(vfs.nodes, {})
|
||||
self.assertNodes(vfs, [])
|
||||
self.assertEqual(vfs.vpath, "")
|
||||
self.assertEqual(vfs.realpath, os.path.join(td, "a", "aa"))
|
||||
self.assertAxs(vfs.axs.uread, ["*"])
|
||||
|
|
@ -111,25 +119,25 @@ class TestVFS(unittest.TestCase):
|
|||
Cfg(a=["k:k"], v=[".::r:rw,k", "a/ac/acb:a/ac/acb:w:rw,k"]),
|
||||
self.log,
|
||||
).vfs
|
||||
self.assertEqual(len(vfs.nodes), 1)
|
||||
self.assertNodes(vfs, ["a"])
|
||||
self.assertEqual(vfs.vpath, "")
|
||||
self.assertEqual(vfs.realpath, td)
|
||||
self.assertAxs(vfs.axs.uread, ["*", "k"])
|
||||
self.assertAxs(vfs.axs.uwrite, ["k"])
|
||||
n = vfs.nodes["a"]
|
||||
self.assertEqual(len(vfs.nodes), 1)
|
||||
self.assertNodes(n, ["ac"])
|
||||
self.assertEqual(n.vpath, "a")
|
||||
self.assertEqual(n.realpath, os.path.join(td, "a"))
|
||||
self.assertAxs(n.axs.uread, ["*", "k"])
|
||||
self.assertAxs(n.axs.uwrite, ["k"])
|
||||
n = n.nodes["ac"]
|
||||
self.assertEqual(len(vfs.nodes), 1)
|
||||
self.assertNodes(n, ["acb"])
|
||||
self.assertEqual(n.vpath, "a/ac")
|
||||
self.assertEqual(n.realpath, os.path.join(td, "a", "ac"))
|
||||
self.assertAxs(n.axs.uread, ["*", "k"])
|
||||
self.assertAxs(n.axs.uwrite, ["k"])
|
||||
n = n.nodes["acb"]
|
||||
self.assertEqual(n.nodes, {})
|
||||
self.assertNodes(n, [])
|
||||
self.assertEqual(n.vpath, "a/ac/acb")
|
||||
self.assertEqual(n.realpath, os.path.join(td, "a", "ac", "acb"))
|
||||
self.assertAxs(n.axs.uread, ["k"])
|
||||
|
|
@ -176,13 +184,13 @@ class TestVFS(unittest.TestCase):
|
|||
Cfg(a=["k:k"], v=[".::rw,k", "a:a:r"]),
|
||||
self.log,
|
||||
).vfs
|
||||
self.assertEqual(len(vfs.nodes), 1)
|
||||
self.assertEqual(len(vfs.nodes), 2)
|
||||
self.assertEqual(vfs.vpath, "")
|
||||
self.assertEqual(vfs.realpath, td)
|
||||
self.assertAxs(vfs.axs.uread, ["k"])
|
||||
self.assertAxs(vfs.axs.uwrite, ["k"])
|
||||
n = vfs.nodes["a"]
|
||||
self.assertEqual(len(vfs.nodes), 1)
|
||||
self.assertEqual(len(vfs.nodes), 2)
|
||||
self.assertEqual(n.vpath, "a")
|
||||
self.assertEqual(n.realpath, os.path.join(td, "a"))
|
||||
self.assertAxs(n.axs.uread, ["*", "k"])
|
||||
|
|
@ -273,6 +281,6 @@ class TestVFS(unittest.TestCase):
|
|||
self.assertEqual(n.realpath, os.path.join(td, "src"))
|
||||
self.assertAxs(n.axs.uread, ["a", "asd"])
|
||||
self.assertAxs(n.axs.uwrite, ["asd"])
|
||||
self.assertEqual(len(n.nodes), 0)
|
||||
self.assertNodes(n, [])
|
||||
|
||||
os.unlink(cfg_path)
|
||||
|
|
|
|||
Loading…
Reference in a new issue