From: Douglas Bagnall Date: Thu, 18 Apr 2019 01:39:58 +0000 (+1200) Subject: pytests: try ldap.modify_order with normal user X-Git-Tag: tdb-1.4.1~231 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e5a099482d9ad17913065351f8c3d02a2b48c03d;p=thirdparty%2Fsamba.git pytests: try ldap.modify_order with normal user We run the tests again, trying to modify as a normal user rather than Administrator. It turns out that we do not always return the same error code as Windows, but in all these tests both Windows and Samba always return some kind of error (as you might hope). Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- diff --git a/selftest/knownfail.d/modify-order b/selftest/knownfail.d/modify-order index 53822a68a92..e14cd1eb356 100644 --- a/selftest/knownfail.d/modify-order +++ b/selftest/knownfail.d/modify-order @@ -3,3 +3,6 @@ samba4.ldap_modify_order.python.+ModifyOrderTests.test_modify_order_container_fl samba4.ldap_modify_order.python.+ModifyOrderTests.test_modify_order_objectclass samba4.ldap_modify_order.python.+ModifyOrderTests.test_modify_order_objectclass2 samba4.ldap_modify_order.python.+ModifyOrderTests.test_modify_order_singlevalue +samba4.ldap_modify_order.normal_user.+ModifyOrderTests.test_modify_order_account_locality_device +samba4.ldap_modify_order.normal_user.+ModifyOrderTests.test_modify_order_container_flags[^_] +samba4.ldap_modify_order.normal_user.+ModifyOrderTests.test_modify_order_objectclass2 diff --git a/source4/dsdb/tests/python/ldap_modify_order.py b/source4/dsdb/tests/python/ldap_modify_order.py index 46b064a1686..8b3f6c7be57 100644 --- a/source4/dsdb/tests/python/ldap_modify_order.py +++ b/source4/dsdb/tests/python/ldap_modify_order.py @@ -54,23 +54,36 @@ class ModifyOrderTests(samba.tests.TestCase): def setUp(self): super().setUp() - self.dsdb = get_dsdb() - self.base_dn = self.dsdb.domain_dn() + self.admin_dsdb = get_dsdb(admin_creds) + self.base_dn = self.admin_dsdb.domain_dn() def delete_object(self, dn): - delete_force(self.dsdb, dn) + delete_force(self.admin_dsdb, dn) + + def get_user_dn(self, name): + return "CN=%s,CN=Users,%s" % (name, self.base_dn) def _test_modify_order(self, start_attrs, mod_attrs, extra_search_attrs=(), name=None): - # We are using Message objects here for add (rather than the - # more convenient dict) because we maybe care about the order - # in which attributes are added. if name is None: name = traceback.extract_stack()[-2][2][5:] + if opts.normal_user: + name += '-non-admin' + username = "user123" + password = "pass123@#$@#" + self.admin_dsdb.newuser(username, password) + self.addCleanup(self.delete_object, self.get_user_dn(username)) + mod_creds = self.insta_creds(template=admin_creds, + username=username, + userpass=password) + else: + mod_creds = admin_creds + + mod_dsdb = get_dsdb(mod_creds) sig = [] op_lut = ['', 'add', 'replace', 'delete'] @@ -95,16 +108,20 @@ class ModifyOrderTests(samba.tests.TestCase): # attribute strings by their results. dn = "cn=ldaptest_%s_%d,cn=users,%s" % (name, i, self.base_dn) m = Message() - m.dn = Dn(self.dsdb, dn) + m.dn = Dn(self.admin_dsdb, dn) + + # We are using Message objects here for add (rather than the + # more convenient dict) because we maybe care about the order + # in which attributes are added. for k, v in start_attrs: m[k] = MessageElement(v, 0, k) - self.dsdb.add(m) + self.admin_dsdb.add(m) self.addCleanup(self.delete_object, dn) m = Message() - m.dn = Dn(self.dsdb, dn) + m.dn = Dn(mod_dsdb, dn) attr_lines = [] for k, v, op in attrs: @@ -116,14 +133,14 @@ class ModifyOrderTests(samba.tests.TestCase): attr_str = '\n'.join(attr_lines) try: - self.dsdb.modify(m) + mod_dsdb.modify(m) except LdbError as e: err, _ = e.args s = LDB_STRERR.get(err, "unknown error") result_str = "%s (%d)" % (s, err) else: - res = self.dsdb.search(base=dn, scope=SCOPE_BASE, - attrs=search_attrs) + res = self.admin_dsdb.search(base=dn, scope=SCOPE_BASE, + attrs=search_attrs) lines = [] for k, v in sorted(dict(res[0]).items()): @@ -296,8 +313,8 @@ class ModifyOrderTests(samba.tests.TestCase): dn2 = "cn=%s,%s" % (name, self.base_dn) m = Message() - m.dn = Dn(self.dsdb, dn2) - self.dsdb.add({"dn": dn2, "objectclass": "group"}) + m.dn = Dn(self.admin_dsdb, dn2) + self.admin_dsdb.add({"dn": dn2, "objectclass": "group"}) self.addCleanup(self.delete_object, dn2) start_attrs = [("objectclass", "group"), @@ -311,7 +328,9 @@ class ModifyOrderTests(samba.tests.TestCase): self._test_modify_order(start_attrs, mod_attrs, ["memberOf"]) -def get_dsdb(): +def get_dsdb(creds=None): + if creds is None: + creds = admin_creds dsdb = SamDB(host, credentials=creds, session_info=system_session(lp), @@ -330,6 +349,7 @@ parser.add_option_group(subunitopts) parser.add_option("--rewrite-ground-truth", action="store_true", help="write expected values") parser.add_option("-v", "--verbose", action="store_true") +parser.add_option("--normal-user", action="store_true") opts, args = parser.parse_args() @@ -340,8 +360,7 @@ if len(args) < 1: host = args[0] lp = sambaopts.get_loadparm() -creds = credopts.get_credentials(lp) - +admin_creds = credopts.get_credentials(lp) if "://" not in host: if os.path.isfile(host): diff --git a/source4/dsdb/tests/python/testdata/modify_order_account_locality_device-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_account_locality_device-non-admin.expected new file mode 100644 index 00000000000..572ed5ea818 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_account_locality_device-non-admin.expected @@ -0,0 +1,31 @@ +modify_order_account_locality_device-non-admin +initial attrs: + objectclass: 'account' + l: 'a' +== result ===[ 6]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + objectclass replace ['device', 'top'] + l delete a + owner add c +---------------------------------- + objectclass replace ['device', 'top'] + owner add c + l delete a +---------------------------------- + l delete a + objectclass replace ['device', 'top'] + owner add c +---------------------------------- + l delete a + owner add c + objectclass replace ['device', 'top'] +---------------------------------- + owner add c + objectclass replace ['device', 'top'] + l delete a +---------------------------------- + owner add c + l delete a + objectclass replace ['device', 'top'] +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_container_flags-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_container_flags-non-admin.expected new file mode 100644 index 00000000000..9a46588705d --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_container_flags-non-admin.expected @@ -0,0 +1,129 @@ +modify_order_container_flags-non-admin +initial attrs: + objectclass: 'container' +== result ===[ 12]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + flags add 0x6 + flags add 5 + flags delete c + flags replace 101 +---------------------------------- + flags add 0x6 + flags replace 101 + flags delete c + flags add 5 +---------------------------------- + flags add 0x6 + flags delete c + flags add 5 + flags replace 101 +---------------------------------- + flags add 0x6 + flags delete c + flags replace 101 + flags add 5 +---------------------------------- + flags add 5 + flags add 0x6 + flags delete c + flags replace 101 +---------------------------------- + flags add 5 + flags delete c + flags add 0x6 + flags replace 101 +---------------------------------- + flags replace 101 + flags add 0x6 + flags delete c + flags add 5 +---------------------------------- + flags replace 101 + flags delete c + flags add 0x6 + flags add 5 +---------------------------------- + flags delete c + flags add 0x6 + flags add 5 + flags replace 101 +---------------------------------- + flags delete c + flags add 0x6 + flags replace 101 + flags add 5 +---------------------------------- + flags delete c + flags add 5 + flags add 0x6 + flags replace 101 +---------------------------------- + flags delete c + flags replace 101 + flags add 0x6 + flags add 5 +---------------------------------- +== result ===[ 12]======================= +ERR_INVALID_ATTRIBUTE_SYNTAX (21) +-- operations --------------------------- + flags add 0x6 + flags add 5 + flags replace 101 + flags delete c +---------------------------------- + flags add 0x6 + flags replace 101 + flags add 5 + flags delete c +---------------------------------- + flags add 5 + flags add 0x6 + flags replace 101 + flags delete c +---------------------------------- + flags add 5 + flags replace 101 + flags add 0x6 + flags delete c +---------------------------------- + flags add 5 + flags replace 101 + flags delete c + flags add 0x6 +---------------------------------- + flags add 5 + flags delete c + flags replace 101 + flags add 0x6 +---------------------------------- + flags replace 101 + flags add 0x6 + flags add 5 + flags delete c +---------------------------------- + flags replace 101 + flags add 5 + flags add 0x6 + flags delete c +---------------------------------- + flags replace 101 + flags add 5 + flags delete c + flags add 0x6 +---------------------------------- + flags replace 101 + flags delete c + flags add 5 + flags add 0x6 +---------------------------------- + flags delete c + flags add 5 + flags replace 101 + flags add 0x6 +---------------------------------- + flags delete c + flags replace 101 + flags add 5 + flags add 0x6 +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_container_flags_multivalue-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_container_flags_multivalue-non-admin.expected new file mode 100644 index 00000000000..c6f89c073c7 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_container_flags_multivalue-non-admin.expected @@ -0,0 +1,127 @@ +modify_order_container_flags_multivalue-non-admin +initial attrs: + objectclass: 'container' + wWWHomePage: 'a' +== result ===[ 24]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + flags add ['0', '1'] + flags add 65355 + flags delete 65355 + flags replace ['2', '101'] +---------------------------------- + flags add ['0', '1'] + flags add 65355 + flags replace ['2', '101'] + flags delete 65355 +---------------------------------- + flags add ['0', '1'] + flags delete 65355 + flags add 65355 + flags replace ['2', '101'] +---------------------------------- + flags add ['0', '1'] + flags delete 65355 + flags replace ['2', '101'] + flags add 65355 +---------------------------------- + flags add ['0', '1'] + flags replace ['2', '101'] + flags add 65355 + flags delete 65355 +---------------------------------- + flags add ['0', '1'] + flags replace ['2', '101'] + flags delete 65355 + flags add 65355 +---------------------------------- + flags add 65355 + flags add ['0', '1'] + flags delete 65355 + flags replace ['2', '101'] +---------------------------------- + flags add 65355 + flags add ['0', '1'] + flags replace ['2', '101'] + flags delete 65355 +---------------------------------- + flags add 65355 + flags delete 65355 + flags add ['0', '1'] + flags replace ['2', '101'] +---------------------------------- + flags add 65355 + flags delete 65355 + flags replace ['2', '101'] + flags add ['0', '1'] +---------------------------------- + flags add 65355 + flags replace ['2', '101'] + flags add ['0', '1'] + flags delete 65355 +---------------------------------- + flags add 65355 + flags replace ['2', '101'] + flags delete 65355 + flags add ['0', '1'] +---------------------------------- + flags delete 65355 + flags add ['0', '1'] + flags add 65355 + flags replace ['2', '101'] +---------------------------------- + flags delete 65355 + flags add ['0', '1'] + flags replace ['2', '101'] + flags add 65355 +---------------------------------- + flags delete 65355 + flags add 65355 + flags add ['0', '1'] + flags replace ['2', '101'] +---------------------------------- + flags delete 65355 + flags add 65355 + flags replace ['2', '101'] + flags add ['0', '1'] +---------------------------------- + flags delete 65355 + flags replace ['2', '101'] + flags add ['0', '1'] + flags add 65355 +---------------------------------- + flags delete 65355 + flags replace ['2', '101'] + flags add 65355 + flags add ['0', '1'] +---------------------------------- + flags replace ['2', '101'] + flags add ['0', '1'] + flags add 65355 + flags delete 65355 +---------------------------------- + flags replace ['2', '101'] + flags add ['0', '1'] + flags delete 65355 + flags add 65355 +---------------------------------- + flags replace ['2', '101'] + flags add 65355 + flags add ['0', '1'] + flags delete 65355 +---------------------------------- + flags replace ['2', '101'] + flags add 65355 + flags delete 65355 + flags add ['0', '1'] +---------------------------------- + flags replace ['2', '101'] + flags delete 65355 + flags add ['0', '1'] + flags add 65355 +---------------------------------- + flags replace ['2', '101'] + flags delete 65355 + flags add 65355 + flags add ['0', '1'] +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_inapplicable-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_inapplicable-non-admin.expected new file mode 100644 index 00000000000..0adb093c600 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_inapplicable-non-admin.expected @@ -0,0 +1,31 @@ +modify_order_inapplicable-non-admin +initial attrs: + objectclass: 'user' + givenName: 'a' +== result ===[ 6]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + dhcpSites replace b + dhcpSites delete b + dhcpSites add c +---------------------------------- + dhcpSites replace b + dhcpSites add c + dhcpSites delete b +---------------------------------- + dhcpSites delete b + dhcpSites replace b + dhcpSites add c +---------------------------------- + dhcpSites delete b + dhcpSites add c + dhcpSites replace b +---------------------------------- + dhcpSites add c + dhcpSites replace b + dhcpSites delete b +---------------------------------- + dhcpSites add c + dhcpSites delete b + dhcpSites replace b +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_member-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_member-non-admin.expected new file mode 100644 index 00000000000..ea7d26b0be7 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_member-non-admin.expected @@ -0,0 +1,127 @@ +modify_order_member-non-admin +initial attrs: + objectclass: 'group' + member: 'cn=modify_order_member_other_group,{base dn}' +== result ===[ 24]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_0,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_0,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_0,cn=users,{base dn} +---------------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_1,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_1,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_1,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_2,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_2,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_2,cn=users,{base dn} +---------------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_3,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_3,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_3,cn=users,{base dn} +---------------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_4,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_4,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_4,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member delete cn=ldaptest_modify_order_member-non-admin_5,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_5,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_5,cn=users,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_6,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_6,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_6,cn=users,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_7,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_7,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_7,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_8,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_8,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_8,cn=users,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_9,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_9,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_9,cn=users,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_10,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_10,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_10,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member replace cn=ldaptest_modify_order_member-non-admin_11,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_11,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_11,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_12,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_12,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_12,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_13,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_13,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_13,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_14,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_14,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_14,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_15,cn=users,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_15,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_15,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_16,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_16,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_16,cn=users,{base dn} +---------------------------------- + member delete cn=modify_order_member_other_group,{base dn} + member add cn=ldaptest_modify_order_member-non-admin_17,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_17,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_17,cn=users,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_18,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_18,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_18,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_19,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_19,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_19,cn=users,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_20,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_20,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_20,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_21,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_21,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_21,cn=users,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_22,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_22,cn=users,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_22,cn=users,{base dn} +---------------------------------- + member add cn=ldaptest_modify_order_member-non-admin_23,cn=users,{base dn} + member delete cn=modify_order_member_other_group,{base dn} + member replace cn=ldaptest_modify_order_member-non-admin_23,cn=users,{base dn} + member delete cn=ldaptest_modify_order_member-non-admin_23,cn=users,{base dn} +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_mixed-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_mixed-non-admin.expected new file mode 100644 index 00000000000..544c31c2fb0 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_mixed-non-admin.expected @@ -0,0 +1,128 @@ +modify_order_mixed-non-admin +initial attrs: + objectclass: 'user' + carLicense: ['1', '2', '3'] + otherTelephone: '123' +== result ===[ 24]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + carLicense delete 3 + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 3 + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense delete 3 + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 3 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + carLicense delete 3 + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + carLicense delete 3 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + carLicense add 4 + carLicense delete 3 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + carLicense delete 3 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + carLicense delete 3 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 3 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + carLicense delete 3 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 3 +---------------------------------- + otherTelephone replace 4 + carLicense delete 3 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense delete 3 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + carLicense delete 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 + carLicense delete 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 3 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 + carLicense delete 3 +---------------------------------- + otherTelephone delete 123 + carLicense delete 3 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 3 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + carLicense delete 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 + carLicense delete 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 3 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 + carLicense delete 3 +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_mixed2-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_mixed2-non-admin.expected new file mode 100644 index 00000000000..7f812cc7bab --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_mixed2-non-admin.expected @@ -0,0 +1,128 @@ +modify_order_mixed2-non-admin +initial attrs: + objectclass: 'user' + carLicense: ['1', '2', '3'] + ipPhone: '123' +== result ===[ 24]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + carLicense delete 3 + carLicense add 4 + ipPhone replace 4 + ipPhone delete 123 +---------------------------------- + carLicense delete 3 + carLicense add 4 + ipPhone delete 123 + ipPhone replace 4 +---------------------------------- + carLicense delete 3 + ipPhone replace 4 + carLicense add 4 + ipPhone delete 123 +---------------------------------- + carLicense delete 3 + ipPhone replace 4 + ipPhone delete 123 + carLicense add 4 +---------------------------------- + carLicense delete 3 + ipPhone delete 123 + carLicense add 4 + ipPhone replace 4 +---------------------------------- + carLicense delete 3 + ipPhone delete 123 + ipPhone replace 4 + carLicense add 4 +---------------------------------- + carLicense add 4 + carLicense delete 3 + ipPhone replace 4 + ipPhone delete 123 +---------------------------------- + carLicense add 4 + carLicense delete 3 + ipPhone delete 123 + ipPhone replace 4 +---------------------------------- + carLicense add 4 + ipPhone replace 4 + carLicense delete 3 + ipPhone delete 123 +---------------------------------- + carLicense add 4 + ipPhone replace 4 + ipPhone delete 123 + carLicense delete 3 +---------------------------------- + carLicense add 4 + ipPhone delete 123 + carLicense delete 3 + ipPhone replace 4 +---------------------------------- + carLicense add 4 + ipPhone delete 123 + ipPhone replace 4 + carLicense delete 3 +---------------------------------- + ipPhone replace 4 + carLicense delete 3 + carLicense add 4 + ipPhone delete 123 +---------------------------------- + ipPhone replace 4 + carLicense delete 3 + ipPhone delete 123 + carLicense add 4 +---------------------------------- + ipPhone replace 4 + carLicense add 4 + carLicense delete 3 + ipPhone delete 123 +---------------------------------- + ipPhone replace 4 + carLicense add 4 + ipPhone delete 123 + carLicense delete 3 +---------------------------------- + ipPhone replace 4 + ipPhone delete 123 + carLicense delete 3 + carLicense add 4 +---------------------------------- + ipPhone replace 4 + ipPhone delete 123 + carLicense add 4 + carLicense delete 3 +---------------------------------- + ipPhone delete 123 + carLicense delete 3 + carLicense add 4 + ipPhone replace 4 +---------------------------------- + ipPhone delete 123 + carLicense delete 3 + ipPhone replace 4 + carLicense add 4 +---------------------------------- + ipPhone delete 123 + carLicense add 4 + carLicense delete 3 + ipPhone replace 4 +---------------------------------- + ipPhone delete 123 + carLicense add 4 + ipPhone replace 4 + carLicense delete 3 +---------------------------------- + ipPhone delete 123 + ipPhone replace 4 + carLicense delete 3 + carLicense add 4 +---------------------------------- + ipPhone delete 123 + ipPhone replace 4 + carLicense add 4 + carLicense delete 3 +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_objectclass-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_objectclass-non-admin.expected new file mode 100644 index 00000000000..1e9650a4c70 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_objectclass-non-admin.expected @@ -0,0 +1,31 @@ +modify_order_objectclass-non-admin +initial attrs: + objectclass: 'user' + otherTelephone: '123' +== result ===[ 6]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + objectclass replace computer + objectclass delete user + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass delete user +---------------------------------- + objectclass delete user + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass delete user + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass delete user +---------------------------------- + objectclass delete person + objectclass delete user + objectclass replace computer +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_objectclass2-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_objectclass2-non-admin.expected new file mode 100644 index 00000000000..25151542acb --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_objectclass2-non-admin.expected @@ -0,0 +1,726 @@ +modify_order_objectclass2-non-admin +initial attrs: + objectclass: 'user' +== result ===[120]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + objectclass replace computer + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass add user + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass add user + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass add user + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass add user + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person + objectclass add user +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user + objectclass delete person +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person + objectclass add user +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass add user + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass add user + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass add user + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass add user + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass add user + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass add user + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass add user + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass replace computer + objectclass delete person + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass add user + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass delete person + objectclass add user + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user +---------------------------------- + objectclass replace attributeSchema + objectclass delete person + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema + objectclass add user + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer + objectclass replace attributeSchema + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer + objectclass delete person + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass add user + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer + objectclass add user + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer + objectclass delete person + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user + objectclass replace computer + objectclass delete person +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user + objectclass delete person + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person + objectclass replace computer + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass delete person + objectclass add user + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass add user + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass add user + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer + objectclass add user +---------------------------------- + objectclass add inetOrgPerson + objectclass delete person + objectclass replace attributeSchema + objectclass add user + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass delete person + objectclass add user + objectclass replace computer + objectclass replace attributeSchema + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass add user + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass add user + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass add user + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer + objectclass add user + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass replace computer + objectclass add inetOrgPerson + objectclass add user +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass add user + objectclass replace computer + objectclass add inetOrgPerson +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass add user + objectclass add inetOrgPerson + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user +---------------------------------- + objectclass delete person + objectclass replace attributeSchema + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer + objectclass add user + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass replace computer + objectclass replace attributeSchema + objectclass add user +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass add user + objectclass replace computer + objectclass replace attributeSchema +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass add user + objectclass replace attributeSchema + objectclass replace computer +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass replace computer + objectclass add user +---------------------------------- + objectclass delete person + objectclass add inetOrgPerson + objectclass replace attributeSchema + objectclass add user + objectclass replace computer +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_singlevalue-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_singlevalue-non-admin.expected new file mode 100644 index 00000000000..f9d717d577a --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_singlevalue-non-admin.expected @@ -0,0 +1,727 @@ +modify_order_singlevalue-non-admin +initial attrs: + objectclass: 'user' + givenName: 'a' +== result ===[120]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName delete b + givenName delete a + givenName add c +---------------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName delete b + givenName add c + givenName delete a +---------------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName delete a + givenName delete b + givenName add c +---------------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName delete a + givenName add c + givenName delete b +---------------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName add c + givenName delete b + givenName delete a +---------------------------------- + givenName replace a + givenName replace ['b', 'a'] + givenName add c + givenName delete a + givenName delete b +---------------------------------- + givenName replace a + givenName delete b + givenName replace ['b', 'a'] + givenName delete a + givenName add c +---------------------------------- + givenName replace a + givenName delete b + givenName replace ['b', 'a'] + givenName add c + givenName delete a +---------------------------------- + givenName replace a + givenName delete b + givenName delete a + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName replace a + givenName delete b + givenName delete a + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName replace a + givenName delete b + givenName add c + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName replace a + givenName delete b + givenName add c + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName replace a + givenName delete a + givenName replace ['b', 'a'] + givenName delete b + givenName add c +---------------------------------- + givenName replace a + givenName delete a + givenName replace ['b', 'a'] + givenName add c + givenName delete b +---------------------------------- + givenName replace a + givenName delete a + givenName delete b + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName replace a + givenName delete a + givenName delete b + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName replace a + givenName delete a + givenName add c + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName replace a + givenName delete a + givenName add c + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName replace a + givenName add c + givenName replace ['b', 'a'] + givenName delete b + givenName delete a +---------------------------------- + givenName replace a + givenName add c + givenName replace ['b', 'a'] + givenName delete a + givenName delete b +---------------------------------- + givenName replace a + givenName add c + givenName delete b + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName replace a + givenName add c + givenName delete b + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName replace a + givenName add c + givenName delete a + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName replace a + givenName add c + givenName delete a + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName delete b + givenName delete a + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName delete b + givenName add c + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName delete a + givenName delete b + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName delete a + givenName add c + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName add c + givenName delete b + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName replace a + givenName add c + givenName delete a + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName replace a + givenName delete a + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName replace a + givenName add c + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName delete a + givenName replace a + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName delete a + givenName add c + givenName replace a +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName add c + givenName replace a + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName delete b + givenName add c + givenName delete a + givenName replace a +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName replace a + givenName delete b + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName replace a + givenName add c + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName delete b + givenName replace a + givenName add c +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName delete b + givenName add c + givenName replace a +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName add c + givenName replace a + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName delete a + givenName add c + givenName delete b + givenName replace a +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName replace a + givenName delete b + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName replace a + givenName delete a + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName delete b + givenName replace a + givenName delete a +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName delete b + givenName delete a + givenName replace a +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName delete a + givenName replace a + givenName delete b +---------------------------------- + givenName replace ['b', 'a'] + givenName add c + givenName delete a + givenName delete b + givenName replace a +---------------------------------- + givenName delete b + givenName replace a + givenName replace ['b', 'a'] + givenName delete a + givenName add c +---------------------------------- + givenName delete b + givenName replace a + givenName replace ['b', 'a'] + givenName add c + givenName delete a +---------------------------------- + givenName delete b + givenName replace a + givenName delete a + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName delete b + givenName replace a + givenName delete a + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName replace a + givenName add c + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName delete b + givenName replace a + givenName add c + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName replace a + givenName delete a + givenName add c +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName replace a + givenName add c + givenName delete a +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName delete a + givenName replace a + givenName add c +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName delete a + givenName add c + givenName replace a +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName add c + givenName replace a + givenName delete a +---------------------------------- + givenName delete b + givenName replace ['b', 'a'] + givenName add c + givenName delete a + givenName replace a +---------------------------------- + givenName delete b + givenName delete a + givenName replace a + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName delete b + givenName delete a + givenName replace a + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName delete a + givenName replace ['b', 'a'] + givenName replace a + givenName add c +---------------------------------- + givenName delete b + givenName delete a + givenName replace ['b', 'a'] + givenName add c + givenName replace a +---------------------------------- + givenName delete b + givenName delete a + givenName add c + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName delete a + givenName add c + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- + givenName delete b + givenName add c + givenName replace a + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName delete b + givenName add c + givenName replace a + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName add c + givenName replace ['b', 'a'] + givenName replace a + givenName delete a +---------------------------------- + givenName delete b + givenName add c + givenName replace ['b', 'a'] + givenName delete a + givenName replace a +---------------------------------- + givenName delete b + givenName add c + givenName delete a + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete b + givenName add c + givenName delete a + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- + givenName delete a + givenName replace a + givenName replace ['b', 'a'] + givenName delete b + givenName add c +---------------------------------- + givenName delete a + givenName replace a + givenName replace ['b', 'a'] + givenName add c + givenName delete b +---------------------------------- + givenName delete a + givenName replace a + givenName delete b + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName delete a + givenName replace a + givenName delete b + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName replace a + givenName add c + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName delete a + givenName replace a + givenName add c + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName replace a + givenName delete b + givenName add c +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName replace a + givenName add c + givenName delete b +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName delete b + givenName replace a + givenName add c +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName delete b + givenName add c + givenName replace a +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName add c + givenName replace a + givenName delete b +---------------------------------- + givenName delete a + givenName replace ['b', 'a'] + givenName add c + givenName delete b + givenName replace a +---------------------------------- + givenName delete a + givenName delete b + givenName replace a + givenName replace ['b', 'a'] + givenName add c +---------------------------------- + givenName delete a + givenName delete b + givenName replace a + givenName add c + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName delete b + givenName replace ['b', 'a'] + givenName replace a + givenName add c +---------------------------------- + givenName delete a + givenName delete b + givenName replace ['b', 'a'] + givenName add c + givenName replace a +---------------------------------- + givenName delete a + givenName delete b + givenName add c + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName delete b + givenName add c + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- + givenName delete a + givenName add c + givenName replace a + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName delete a + givenName add c + givenName replace a + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName add c + givenName replace ['b', 'a'] + givenName replace a + givenName delete b +---------------------------------- + givenName delete a + givenName add c + givenName replace ['b', 'a'] + givenName delete b + givenName replace a +---------------------------------- + givenName delete a + givenName add c + givenName delete b + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName delete a + givenName add c + givenName delete b + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- + givenName add c + givenName replace a + givenName replace ['b', 'a'] + givenName delete b + givenName delete a +---------------------------------- + givenName add c + givenName replace a + givenName replace ['b', 'a'] + givenName delete a + givenName delete b +---------------------------------- + givenName add c + givenName replace a + givenName delete b + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName add c + givenName replace a + givenName delete b + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName replace a + givenName delete a + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName add c + givenName replace a + givenName delete a + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName replace a + givenName delete b + givenName delete a +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName replace a + givenName delete a + givenName delete b +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName delete b + givenName replace a + givenName delete a +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName delete b + givenName delete a + givenName replace a +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName delete a + givenName replace a + givenName delete b +---------------------------------- + givenName add c + givenName replace ['b', 'a'] + givenName delete a + givenName delete b + givenName replace a +---------------------------------- + givenName add c + givenName delete b + givenName replace a + givenName replace ['b', 'a'] + givenName delete a +---------------------------------- + givenName add c + givenName delete b + givenName replace a + givenName delete a + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName delete b + givenName replace ['b', 'a'] + givenName replace a + givenName delete a +---------------------------------- + givenName add c + givenName delete b + givenName replace ['b', 'a'] + givenName delete a + givenName replace a +---------------------------------- + givenName add c + givenName delete b + givenName delete a + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName delete b + givenName delete a + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- + givenName add c + givenName delete a + givenName replace a + givenName replace ['b', 'a'] + givenName delete b +---------------------------------- + givenName add c + givenName delete a + givenName replace a + givenName delete b + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName delete a + givenName replace ['b', 'a'] + givenName replace a + givenName delete b +---------------------------------- + givenName add c + givenName delete a + givenName replace ['b', 'a'] + givenName delete b + givenName replace a +---------------------------------- + givenName add c + givenName delete a + givenName delete b + givenName replace a + givenName replace ['b', 'a'] +---------------------------------- + givenName add c + givenName delete a + givenName delete b + givenName replace ['b', 'a'] + givenName replace a +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_sometimes_inapplicable-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_sometimes_inapplicable-non-admin.expected new file mode 100644 index 00000000000..fd144d764dd --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_sometimes_inapplicable-non-admin.expected @@ -0,0 +1,127 @@ +modify_order_sometimes_inapplicable-non-admin +initial attrs: + objectclass: 'user' + givenName: 'a' +== result ===[ 24]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + objectclass replace computer + objectclass delete person + dnsHostName add b + dnsHostName replace c +---------------------------------- + objectclass replace computer + objectclass delete person + dnsHostName replace c + dnsHostName add b +---------------------------------- + objectclass replace computer + dnsHostName add b + objectclass delete person + dnsHostName replace c +---------------------------------- + objectclass replace computer + dnsHostName add b + dnsHostName replace c + objectclass delete person +---------------------------------- + objectclass replace computer + dnsHostName replace c + objectclass delete person + dnsHostName add b +---------------------------------- + objectclass replace computer + dnsHostName replace c + dnsHostName add b + objectclass delete person +---------------------------------- + objectclass delete person + objectclass replace computer + dnsHostName add b + dnsHostName replace c +---------------------------------- + objectclass delete person + objectclass replace computer + dnsHostName replace c + dnsHostName add b +---------------------------------- + objectclass delete person + dnsHostName add b + objectclass replace computer + dnsHostName replace c +---------------------------------- + objectclass delete person + dnsHostName add b + dnsHostName replace c + objectclass replace computer +---------------------------------- + objectclass delete person + dnsHostName replace c + objectclass replace computer + dnsHostName add b +---------------------------------- + objectclass delete person + dnsHostName replace c + dnsHostName add b + objectclass replace computer +---------------------------------- + dnsHostName add b + objectclass replace computer + objectclass delete person + dnsHostName replace c +---------------------------------- + dnsHostName add b + objectclass replace computer + dnsHostName replace c + objectclass delete person +---------------------------------- + dnsHostName add b + objectclass delete person + objectclass replace computer + dnsHostName replace c +---------------------------------- + dnsHostName add b + objectclass delete person + dnsHostName replace c + objectclass replace computer +---------------------------------- + dnsHostName add b + dnsHostName replace c + objectclass replace computer + objectclass delete person +---------------------------------- + dnsHostName add b + dnsHostName replace c + objectclass delete person + objectclass replace computer +---------------------------------- + dnsHostName replace c + objectclass replace computer + objectclass delete person + dnsHostName add b +---------------------------------- + dnsHostName replace c + objectclass replace computer + dnsHostName add b + objectclass delete person +---------------------------------- + dnsHostName replace c + objectclass delete person + objectclass replace computer + dnsHostName add b +---------------------------------- + dnsHostName replace c + objectclass delete person + dnsHostName add b + objectclass replace computer +---------------------------------- + dnsHostName replace c + dnsHostName add b + objectclass replace computer + objectclass delete person +---------------------------------- + dnsHostName replace c + dnsHostName add b + objectclass delete person + objectclass replace computer +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_telephone-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_telephone-non-admin.expected new file mode 100644 index 00000000000..fd46b3a6318 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_telephone-non-admin.expected @@ -0,0 +1,727 @@ +modify_order_telephone-non-admin +initial attrs: + objectclass: 'user' + otherTelephone: '123' +== result ===[120]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + carLicense add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone add 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense add 4 + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone add 4 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 + otherTelephone add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense add 4 + otherTelephone add 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 + carLicense add 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + carLicense replace 3 + otherTelephone replace 4 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + carLicense add 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 + carLicense replace 3 + carLicense add 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone add 4 + otherTelephone replace 4 + carLicense add 4 + carLicense replace 3 +---------------------------------- \ No newline at end of file diff --git a/source4/dsdb/tests/python/testdata/modify_order_telephone_delete_delete-non-admin.expected b/source4/dsdb/tests/python/testdata/modify_order_telephone_delete_delete-non-admin.expected new file mode 100644 index 00000000000..96fc4fdbf89 --- /dev/null +++ b/source4/dsdb/tests/python/testdata/modify_order_telephone_delete_delete-non-admin.expected @@ -0,0 +1,727 @@ +modify_order_telephone_delete_delete-non-admin +initial attrs: + objectclass: 'user' + otherTelephone: '123' +== result ===[120]======================= +ERR_INSUFFICIENT_ACCESS_RIGHTS (50) +-- operations --------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone replace 4 + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + carLicense delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 123 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 123 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 123 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone replace 4 + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone delete 4 + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + carLicense delete 4 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense replace 3 + otherTelephone delete 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + carLicense delete 4 + otherTelephone delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone replace 4 + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 + carLicense delete 4 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + carLicense replace 3 + otherTelephone replace 4 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 + carLicense replace 3 + otherTelephone replace 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + carLicense delete 4 + otherTelephone replace 4 + carLicense replace 3 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense replace 3 + carLicense delete 4 +---------------------------------- + otherTelephone delete 123 + otherTelephone delete 4 + otherTelephone replace 4 + carLicense delete 4 + carLicense replace 3 +---------------------------------- \ No newline at end of file diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py index 7d879ff1baf..9001a98a5b3 100755 --- a/source4/selftest/tests.py +++ b/source4/selftest/tests.py @@ -841,6 +841,20 @@ plantestsuite_loadlist("samba4.ldap_modify_order.python(ad_dc_default)", [python, os.path.join(samba4srcdir, "dsdb/tests/python/" "ldap_modify_order.py"), + # add "-v" here to diagnose + '$SERVER', + '-U"$USERNAME%$PASSWORD"', + '--workgroup=$DOMAIN', + '$LOADLIST', + '$LISTOPT']) + +plantestsuite_loadlist("samba4.ldap_modify_order.normal_user.python(ad_dc_default)", + "ad_dc_default", + [python, os.path.join(samba4srcdir, + "dsdb/tests/python/" + "ldap_modify_order.py"), + '--normal-user', + # add "-v" here to diagnose '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN',