diff options
| author | William Brown <william@blackhats.net.au> | 2018-05-28 10:30:39 +1000 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2018-05-29 05:34:08 +0200 |
| commit | 4b1a86235ba454b0e5e27ca621d87c8644b2a98c (patch) | |
| tree | bbf6d45e6335d738995a5ed09c0209a698ab37b1 /python | |
| parent | 2c65184270500dc99b1697af6e830d62093a627f (diff) | |
| download | samba-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.py | 2 | ||||
| -rw-r--r-- | python/samba/tests/samba_tool/schema.py | 43 |
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) + + |
