summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorWilliam Brown <william@blackhats.net.au>2018-05-28 10:30:39 +1000
committerAndrew Bartlett <abartlet@samba.org>2018-05-29 05:34:08 +0200
commit4b1a86235ba454b0e5e27ca621d87c8644b2a98c (patch)
treebbf6d45e6335d738995a5ed09c0209a698ab37b1 /python
parent2c65184270500dc99b1697af6e830d62093a627f (diff)
downloadsamba-4b1a86235ba454b0e5e27ca621d87c8644b2a98c.tar.gz
samba-4b1a86235ba454b0e5e27ca621d87c8644b2a98c.tar.bz2
samba-4b1a86235ba454b0e5e27ca621d87c8644b2a98c.zip
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>
Diffstat (limited to 'python')
-rw-r--r--python/samba/netcmd/schema.py2
-rw-r--r--python/samba/tests/samba_tool/schema.py43
2 files changed, 30 insertions, 15 deletions
diff --git a/python/samba/netcmd/schema.py b/python/samba/netcmd/schema.py
index 8b92b10a6f0..6579cc9cdcc 100644
--- a/python/samba/netcmd/schema.py
+++ b/python/samba/netcmd/schema.py
@@ -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.
diff --git a/python/samba/tests/samba_tool/schema.py b/python/samba/tests/samba_tool/schema.py
index c719b1c9c0e..31db5c63347 100644
--- a/python/samba/tests/samba_tool/schema.py
+++ b/python/samba/tests/samba_tool/schema.py
@@ -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)
+
+