summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2019-04-12 16:09:55 +1200
committerAndrew Bartlett <abartlet@samba.org>2019-05-01 05:32:25 +0000
commit5a0df7aec6bd37c7f9ce0b0ed5758da7a4977ee2 (patch)
treedf855b38c46814b56a1bd61077c9c00453651870 /source4
parent0a5c5e2f5ef09b8cee55d65242d54febc84f7855 (diff)
downloadsamba-5a0df7aec6bd37c7f9ce0b0ed5758da7a4977ee2.tar.gz
dsdb/pytest/ldap: revive commented out test for attr size range
The test was presumably commented out because we fail it, and known-failing it would have hidden the attr-too-short tests that it was bundled with. If we disentangle them we can knwn-fail it, which serves as a TODO list. (passes against WIN2012R2). Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4')
-rwxr-xr-xsource4/dsdb/tests/python/ldap.py53
1 files changed, 32 insertions, 21 deletions
diff --git a/source4/dsdb/tests/python/ldap.py b/source4/dsdb/tests/python/ldap.py
index 1d4b19adcbc..52e1795f0bb 100755
--- a/source4/dsdb/tests/python/ldap.py
+++ b/source4/dsdb/tests/python/ldap.py
@@ -918,16 +918,6 @@ class BasicTests(samba.tests.TestCase):
(num, _) = e39.args
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
- # Too long (max. 64)
-# try:
-# ldb.add({
-# "dn": "cn=ldaptestuser,cn=users," + self.base_dn,
-# "objectClass": "person",
-# "sn": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" })
-# self.fail()
-# except LdbError, (num, _):
-# self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
-
ldb.add({
"dn": "cn=ldaptestuser,cn=users," + self.base_dn,
"objectClass": "person"})
@@ -939,19 +929,10 @@ class BasicTests(samba.tests.TestCase):
try:
ldb.modify(m)
self.fail()
- except LdbError as e40:
- (num, _) = e40.args
+ except LdbError as e:
+ (num, _) = e.args
self.assertEquals(num, ERR_INVALID_ATTRIBUTE_SYNTAX)
- # Too long (max. 64)
-# m = Message()
-# m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
-# m["sn"] = MessageElement("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", FLAG_MOD_REPLACE, "sn")
-# try:
-# ldb.modify(m)
-# self.fail()
-# except LdbError, (num, _):
-# self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
@@ -960,6 +941,36 @@ class BasicTests(samba.tests.TestCase):
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ def test_attribute_ranges_too_long(self):
+ """Test attribute ranges"""
+ # This is knownfail with the wrong error
+ # (INVALID_ATTRIBUTE_SYNTAX vs CONSTRAINT_VIOLATION per Windows)
+
+ # Too long (max. 64)
+ try:
+ ldb.add({
+ "dn": "cn=ldaptestuser,cn=users," + self.base_dn,
+ "objectClass": "person",
+ "sn": "x" * 65 })
+ self.fail()
+ except LdbError as e:
+ (num, _) = e.args
+ self.assertEquals(num, ERR_CONSTRAINT_VIOLATION)
+
+ ldb.add({
+ "dn": "cn=ldaptestuser,cn=users," + self.base_dn,
+ "objectClass": "person"})
+
+ # Too long (max. 64)
+ m = Message()
+ m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
+ m["sn"] = MessageElement("x" * 66, FLAG_MOD_REPLACE, "sn")
+ try:
+ ldb.modify(m)
+ self.fail()
+ except LdbError as e:
+ self.assertEquals(e.args[0], ERR_CONSTRAINT_VIOLATION)
+
def test_empty_messages(self):
"""Test empty messages"""
m = Message()