mirror of
https://github.com/samba-team/samba.git
synced 2025-03-20 22:50:26 +03:00
python/samba/tests/samba_tool/schema.py: Improve schema command testing
Assert the correct stdout content of the schema test commands. Signed-off-by: William Brown <william@blackhats.net.au> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
This commit is contained in:
parent
2c65184270
commit
4b1a86235b
@ -125,7 +125,7 @@ class cmd_schema_attribute_modify(Command):
|
||||
str(searchflags_int), ldb.FLAG_MOD_REPLACE, 'searchFlags')
|
||||
|
||||
samdb.modify(m)
|
||||
print("modified %s" % attr_dn)
|
||||
self.outf.write("modified %s" % attr_dn)
|
||||
|
||||
class cmd_schema_attribute_show(Command):
|
||||
"""Show details about an attribute from the schema.
|
||||
|
@ -33,66 +33,81 @@ class SchemaCmdTestCase(SambaToolCmdTest):
|
||||
|
||||
def test_display_attribute(self):
|
||||
"""Tests that we can display schema attributes"""
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"show", "uid",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"show"), "uid",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("dn: CN=uid,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com", out)
|
||||
|
||||
def test_modify_attribute_searchflags(self):
|
||||
"""Tests that we can modify searchFlags of an attribute"""
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"modify", "uid", "--searchflags=9",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"modify"), "uid", "--searchflags=9",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdFail(result, 'Unknown flag 9, please see --help')
|
||||
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"modify", "uid", "--searchflags=fATTINDEX",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"modify"), "uid", "--searchflags=fATTINDEX",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("modified cn=uid,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com", out)
|
||||
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"modify", "uid",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"modify"), "uid",
|
||||
"--searchflags=fATTINDEX,fSUBTREEATTINDEX",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("modified cn=uid,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com", out)
|
||||
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"modify", "uid",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"modify"), "uid",
|
||||
"--searchflags=fAtTiNdEx,fPRESERVEONDELETE",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("modified cn=uid,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com", out)
|
||||
|
||||
def test_show_oc_attribute(self):
|
||||
"""Tests that we can modify searchFlags of an attribute"""
|
||||
(result, out, err) = self.runsubcmd("schema", "attribute",
|
||||
"show_oc", "cn",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("attribute",
|
||||
"show_oc"), "cn",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("--- MAY contain ---", out)
|
||||
self.assertIn("--- MUST contain ---", out)
|
||||
|
||||
def test_display_objectclass(self):
|
||||
"""Tests that we can display schema objectclasses"""
|
||||
(result, out, err) = self.runsubcmd("schema", "objectclass",
|
||||
"show", "person",
|
||||
(result, out, err) = self.runsublevelcmd("schema", ("objectclass",
|
||||
"show"), "person",
|
||||
"-H", "ldap://%s" % os.environ["DC_SERVER"],
|
||||
"-U%s%%%s" % (os.environ["DC_USERNAME"],
|
||||
os.environ["DC_PASSWORD"]))
|
||||
|
||||
self.assertCmdSuccess(result, out, err)
|
||||
self.assertEquals(err,"","Shouldn't be any error messages")
|
||||
self.assertIn("dn: CN=Person,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com", out)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user