]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
python/samba/tests/samba_tool/schema.py: Improve schema command testing
authorWilliam Brown <william@blackhats.net.au>
Mon, 28 May 2018 00:30:39 +0000 (10:30 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 29 May 2018 03:34:08 +0000 (05:34 +0200)
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>
python/samba/netcmd/schema.py
python/samba/tests/samba_tool/schema.py

index 8b92b10a6f0e89ed12fd65bdd76ea3dbed1c65c9..6579cc9cdcca63ff734558d4542d2c1dc9e6a6ed 100644 (file)
@@ -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.
index c719b1c9c0e3f1050a51cf20843ca660b55c8ed1..31db5c63347bcec02720296eda70fd4490ee9a0d 100644 (file)
@@ -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)
+
+