From: Douglas Bagnall Date: Thu, 24 Aug 2023 01:44:41 +0000 (+1200) Subject: pytest: sddl tests with conditional ACEs X-Git-Tag: tevent-0.16.0~450 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fabc2f351ebde9986c75316dcf0a7376b9eefe6a;p=thirdparty%2Fsamba.git pytest: sddl tests with conditional ACEs Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/tests/sddl_conditional_ace.py b/python/samba/tests/sddl_conditional_ace.py new file mode 100644 index 00000000000..d7c6c7dd621 --- /dev/null +++ b/python/samba/tests/sddl_conditional_ace.py @@ -0,0 +1,52 @@ +# Unix SMB/CIFS implementation. +# Copyright (C) Volker Lendecke 2021 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +"""Tests for SDDL conditional ACES.""" + +from .sddl import SddlDecodeEncodeBase +from samba.tests import DynamicTestCase +from pathlib import Path + +STRINGS_DIR = Path(__name__).parent.parent.parent / 'libcli/security/tests/data' + +@DynamicTestCase +class SddlConditionalAces(SddlDecodeEncodeBase): + strings_dir = STRINGS_DIR + name = "conditional_aces" + should_succeed = True + + +@DynamicTestCase +class SddlConditionalAcesShouldFail(SddlDecodeEncodeBase): + strings_dir = STRINGS_DIR + name = "conditional_aces_should_fail" + should_succeed = False + + +@DynamicTestCase +class SddlConditionalAcesWindowsOnly(SddlDecodeEncodeBase): + strings_dir = STRINGS_DIR + name = "conditional_aces_windows_only" + should_succeed = False + + +@DynamicTestCase +class SddlConditionalAcesCaseInsensitive(SddlDecodeEncodeBase): + strings_dir = STRINGS_DIR + name = "conditional_aces_case_insensitive" + should_succeed = True + case_insensitive = True diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index e41f4677553..73f7b1d067a 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -533,6 +533,15 @@ plantestsuite_loadlist("samba.tests.sddl", "samba.tests.sddl" ]) +plantestsuite_loadlist("samba.tests.sddl_conditional_ace", + "none", + [python, + '-msamba.subunit.run', + '$LOADLIST', + "$LISTOPT" + "samba.tests.sddl_conditional_ace" + ]) + for t in smbtorture4_testsuites("dns_internal."): plansmbtorture4testsuite(t, "ad_dc_default:local", '//$SERVER/whavever')