summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2011-10-12 23:27:57 +0200
committerJelmer Vernooij <jelmer@samba.org>2011-10-13 01:56:20 +0200
commitde9b3b61906ae4f1862ccce81577b323fadbb27d (patch)
tree07bce810019d88d1f8af0dd201c46c8f711c3b7c /source4
parent6f9a3177d49d49d9a631cb1f2219761a4721b387 (diff)
downloadsamba-de9b3b61906ae4f1862ccce81577b323fadbb27d.tar.gz
samba-de9b3b61906ae4f1862ccce81577b323fadbb27d.tar.bz2
samba-de9b3b61906ae4f1862ccce81577b323fadbb27d.zip
samba-tools/testparm: Add really basic unit test, demonstrating how to write unit tests for samba-tool in Python.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Thu Oct 13 01:56:20 CEST 2011 on sn-devel-104
Diffstat (limited to 'source4')
-rw-r--r--source4/scripting/python/samba/tests/netcmd.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/source4/scripting/python/samba/tests/netcmd.py b/source4/scripting/python/samba/tests/netcmd.py
index 7b53d53c3c..4f06124482 100644
--- a/source4/scripting/python/samba/tests/netcmd.py
+++ b/source4/scripting/python/samba/tests/netcmd.py
@@ -19,10 +19,39 @@
"""Tests for samba.netcmd."""
+from cStringIO import StringIO
from samba.netcmd import Command
+from samba.netcmd.testparm import cmd_testparm
import samba.tests
+class NetCmdTestCase(samba.tests.TestCase):
+
+ def run_netcmd(self, cmd_klass, args, retcode=0):
+ cmd = cmd_klass()
+ cmd.outf = StringIO()
+ cmd.errf = StringIO()
+ try:
+ retval = cmd._run(cmd_klass.__name__, *args)
+ except Exception, e:
+ cmd.show_command_error(e)
+ retval = 1
+ self.assertEquals(retcode, retval)
+ return cmd.outf.getvalue(), cmd.errf.getvalue()
+
+
+class TestParmTests(NetCmdTestCase):
+
+ def test_no_client_ip(self):
+ out, err = self.run_netcmd(cmd_testparm, ["--client-name=foo"],
+ retcode=-1)
+ self.assertEquals("", out)
+ self.assertEquals(
+ "ERROR: Both a DNS name and an IP address are "
+ "required for the host access check\n", err)
+
+
class CommandTests(samba.tests.TestCase):
+
def test_description(self):
class cmd_foo(Command):
"""Mydescription"""