Author: mvidner Date: Fri Jul 10 10:25:13 2009 New Revision: 57996 URL: http://svn.opensuse.org/viewcvs/yast?rev=57996&view=rev Log: Added class dbustest.DBusTestCase that checks the name of a DBus error. Added a test for list. Trying to test a term. Added: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/dbustest.py Modified: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/Makefile.am branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t4-bad-params.py branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t5-params.py Modified: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/Makefile.am?rev=57996&r1=57995&r2=57996&view=diff ============================================================================== --- branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/Makefile.am (original) +++ branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/Makefile.am Fri Jul 10 10:25:13 2009 @@ -3,6 +3,6 @@ SUBDIRS = modules -EXTRA_DIST = $(wildcard *.test) test_all test_server t1 $(wildcard t*.py) +EXTRA_DIST = $(wildcard *.test) test_all test_server dbustest.py t1 $(wildcard t*.py) CLEANFILES = $(wildcard *.test.reply) Added: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/dbustest.py URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/dbustest.py?rev=57996&view=auto ============================================================================== --- branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/dbustest.py (added) +++ branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/dbustest.py Fri Jul 10 10:25:13 2009 @@ -0,0 +1,26 @@ +import dbus +import unittest + +class DBusTestCase(unittest.TestCase): + def failUnlessRaisesDBus(self, dbusErrName, callableObj, *args, **kwargs): + """Fail unless a DBusException whose name contains dbusErrName is thrown + by callableObj when invoked with arguments args and keyword + arguments kwargs. If a different type of exception is + thrown, it will not be caught, and the test case will be + deemed to have suffered an error, exactly as for an + unexpected exception. + """ + excClass = dbus.exceptions.DBusException + try: + callableObj(*args, **kwargs) + except excClass, e: + got = e.get_dbus_name() + if got.find(dbusErrName) != -1: + return + raise self.failureException, "Expected DBus exception matching %s but got %s" % (dbusErrName, got) + else: + if hasattr(excClass,'__name__'): excName = excClass.__name__ + else: excName = str(excClass) + raise self.failureException, "%s not raised" % excName + + assertRaisesDBus = failUnlessRaisesDBus Modified: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t4-bad-params.py URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t4-bad-params.py?rev=57996&r1=57995&r2=57996&view=diff ============================================================================== --- branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t4-bad-params.py (original) +++ branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t4-bad-params.py Fri Jul 10 10:25:13 2009 @@ -7,8 +7,9 @@ # etc, check y2errors import dbus import unittest +import dbustest -class BadParams(unittest.TestCase): +class BadParams(dbustest.DBusTestCase): def setUp(self): T_o = dbus.SessionBus().get_object('org.opensuse.YaST.modules', '/org/opensuse/YaST/modules/TEST') @@ -35,13 +36,21 @@ # self.assertRaises(Exception, self.YT.ParamMap, (False, "", "")) def testBsvUnknownType(self): - self.assertRaises(Exception, self.YT.ParamMap, (False, "ufo", 0)) + self.assertRaisesDBus("InvalidSignature", + self.YT.ParamMap, (False, "ufo", 0)) def testBsvUnimplementedType(self): - self.assertRaises(Exception, self.YT.ParamMap, (False, "byteblock", 0)) + self.assertRaisesDBus("InvalidSignature", + self.YT.ParamMap, (False, "byteblock", 0)) def testBsvTypeMismatch(self): self.assertRaises(Exception, self.YT.ParamMap, (False, "string", 42)) + def testTermInvalid(self): + "Terms are passed as lists where first item must be string" + term = [1 , 2, 3] + self.assertRaises(Exception, self.T.ParamTerm, term) + + if __name__ == '__main__': unittest.main() Modified: branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t5-params.py URL: http://svn.opensuse.org/viewcvs/yast/branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t5-params.py?rev=57996&r1=57995&r2=57996&view=diff ============================================================================== --- branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t5-params.py (original) +++ branches/tmp/mvidner/core-dbus-values/dbus/namespace_service/testsuite/t5-params.py Fri Jul 10 10:25:13 2009 @@ -68,7 +68,14 @@ def testString(self): self.assertEqual(self.T.ParamString(s), s42) + def testList(self): + lst = [1, 2, 3] + self.assertEqual(self.T.ParamList(lst), lst) +#Term is not exported, TODO add test for calling unknow func with params, that is different +# def testTerm(self): +# term = ["name", 2, 3] +# self.assertEqual(self.T.ParamTerm(term), term) if __name__ == '__main__': unittest.main() -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org