Mercurial > p > roundup > code
diff test/test_xmlrpc.py @ 4793:d9e5539303bd
Implement XMLRPC MultiCall (including test), see
http://docs.python.org/2/library/xmlrpclib.html#xmlrpclib.MultiCall
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Mon, 17 Jun 2013 16:53:34 +0200 |
| parents | 6e9b9743de89 |
| children | dad18ee491a9 |
line wrap: on
line diff
--- a/test/test_xmlrpc.py Sat Jun 08 22:24:35 2013 -0400 +++ b/test/test_xmlrpc.py Mon Jun 17 16:53:34 2013 +0200 @@ -6,11 +6,13 @@ import unittest, os, shutil, errno, sys, difflib, cgi, re +from xmlrpclib import MultiCall from roundup.cgi.exceptions import * from roundup import init, instance, password, hyperdb, date -from roundup.xmlrpc import RoundupInstance +from roundup.xmlrpc import RoundupInstance, RoundupDispatcher from roundup.backends import list_backends from roundup.hyperdb import String +from roundup.cgi import TranslationService import db_test_base @@ -221,6 +223,31 @@ r = self.server.filter('issue', None, {}, group=keygroup) self.assertEqual(r, ['2', '3', '1']) + def testMulticall(self): + translator = TranslationService.get_translation( + language=self.instance.config["TRACKER_LANGUAGE"], + tracker_home=self.instance.config["TRACKER_HOME"]) + self.server = RoundupDispatcher(self.db, self.instance.actions, + translator, allow_none = True) + class S: + multicall=self.server.funcs['system.multicall'] + self.server.system = S() + self.db.issue.create(title='i1') + self.db.issue.create(title='i2') + m = MultiCall(self.server) + m.display('issue1') + m.display('issue2') + result = m() + results = [ + {'files': [], 'status': '1', 'tx_Source': 'web', + 'keyword': [], 'title': 'i1', 'nosy': [], 'messages': [], + 'priority': None, 'assignedto': None, 'superseder': []}, + {'files': [], 'status': '1', 'tx_Source': 'web', + 'keyword': [], 'title': 'i2', 'nosy': [], 'messages': [], + 'priority': None, 'assignedto': None, 'superseder': []}] + for n, r in enumerate(result): + self.assertEqual(r, results[n]) + def test_suite(): suite = unittest.TestSuite() for l in list_backends():
