From d123d2bff043e7895f3a9d5af90e2c760d8f0dbb Mon Sep 17 00:00:00 2001 From: ed Date: Fri, 13 Jun 2025 19:34:58 +0000 Subject: [PATCH] add test for non-idp group filtering --- tests/res/idp/8.conf | 47 ++++++++++++++++++++++++++++++++++++++++++++ tests/test_idp.py | 32 ++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 tests/res/idp/8.conf diff --git a/tests/res/idp/8.conf b/tests/res/idp/8.conf new file mode 100644 index 00000000..67f59d95 --- /dev/null +++ b/tests/res/idp/8.conf @@ -0,0 +1,47 @@ +# -*- mode: yaml -*- +# vim: ft=yaml: + +[groups] + ga: iua, iuab, iuabc + gb: iuab, iuabc, iub, iubc + gc: iuabc, iubc, iuc + +[/u/${u}] + /u/${u} + accs: + r: * + +[/uya/${u%+ga}] + /uya/${u} + accs: + r: * + +[/uyab/${u%+ga,%+gb}] + /uyab/${u} + accs: + r: * + +[/una/${u%-ga}] + /una/${u} + accs: + r: * + +[/unab/${u%-ga,%-gb}] + /unab/${u} + accs: + r: * + +[/gya/${g%+ga}] + /gya/${g} + accs: + r: * + +[/gna/${g%-ga}] + /gna/${g} + accs: + r: * + +[/gnab/${g%-ga,%-gb}] + /gnab/${g} + accs: + r: * diff --git a/tests/test_idp.py b/tests/test_idp.py index 80500c15..bd81378f 100644 --- a/tests/test_idp.py +++ b/tests/test_idp.py @@ -273,3 +273,35 @@ gnab/gc # print(" ".join(zl1)) # print(" ".join(zl2)) self.assertListEqual(zl1, zl2) + + def test_8(self): + """ + conditional non-idp vols + """ + _, cfgdir, xcfg = self.prep() + xcfg = {"vc": True} + au = AuthSrv(Cfg(c=[cfgdir + "/8.conf"], **xcfg), self.log) + zs = """ +u/iua +u/iuab +u/iuabc +u/iub +u/iubc +u/iuc +uya/iua +uya/iuab +uya/iuabc +uyab/iuab +uyab/iuabc +una/iub +una/iubc +una/iuc +unab/iuc +gya/ga +gna/gb +gna/gc +gnab/gc +""" + zl1 = sorted(zs.strip().split("\n"))[:] + zl2 = sorted(list(au.vfs.all_vols))[:] + self.assertListEqual(zl1, zl2)