|
6 | 6 |
|
7 | 7 | import unittest, os, shutil, errno, sys, difflib, cgi, re |
8 | 8 |
|
| 9 | +from xmlrpclib import MultiCall |
9 | 10 | from roundup.cgi.exceptions import * |
10 | 11 | from roundup import init, instance, password, hyperdb, date |
11 | | -from roundup.xmlrpc import RoundupInstance |
| 12 | +from roundup.xmlrpc import RoundupInstance, RoundupDispatcher |
12 | 13 | from roundup.backends import list_backends |
13 | 14 | from roundup.hyperdb import String |
| 15 | +from roundup.cgi import TranslationService |
14 | 16 |
|
15 | 17 | import db_test_base |
16 | 18 |
|
@@ -221,6 +223,31 @@ def testAuthFilter(self): |
221 | 223 | r = self.server.filter('issue', None, {}, group=keygroup) |
222 | 224 | self.assertEqual(r, ['2', '3', '1']) |
223 | 225 |
|
| 226 | + def testMulticall(self): |
| 227 | + translator = TranslationService.get_translation( |
| 228 | + language=self.instance.config["TRACKER_LANGUAGE"], |
| 229 | + tracker_home=self.instance.config["TRACKER_HOME"]) |
| 230 | + self.server = RoundupDispatcher(self.db, self.instance.actions, |
| 231 | + translator, allow_none = True) |
| 232 | + class S: |
| 233 | + multicall=self.server.funcs['system.multicall'] |
| 234 | + self.server.system = S() |
| 235 | + self.db.issue.create(title='i1') |
| 236 | + self.db.issue.create(title='i2') |
| 237 | + m = MultiCall(self.server) |
| 238 | + m.display('issue1') |
| 239 | + m.display('issue2') |
| 240 | + result = m() |
| 241 | + results = [ |
| 242 | + {'files': [], 'status': '1', 'tx_Source': 'web', |
| 243 | + 'keyword': [], 'title': 'i1', 'nosy': [], 'messages': [], |
| 244 | + 'priority': None, 'assignedto': None, 'superseder': []}, |
| 245 | + {'files': [], 'status': '1', 'tx_Source': 'web', |
| 246 | + 'keyword': [], 'title': 'i2', 'nosy': [], 'messages': [], |
| 247 | + 'priority': None, 'assignedto': None, 'superseder': []}] |
| 248 | + for n, r in enumerate(result): |
| 249 | + self.assertEqual(r, results[n]) |
| 250 | + |
224 | 251 | def test_suite(): |
225 | 252 | suite = unittest.TestSuite() |
226 | 253 | for l in list_backends(): |
|
0 commit comments