changeset 2166:2a7b535b1e44

Add a test for xmlrpc Fault serialization.
author Karol 'grzywacz' Nowak <grzywacz@sul.uni.lodz.pl>
date Mon, 18 Jun 2007 16:36:03 +0200
parents 7c8ee12f8c1d
children 37e16cdc3a84
files MoinMoin/_tests/test_xmlrpc_multicall.py
diffstat 1 files changed, 28 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/_tests/test_xmlrpc_multicall.py	Mon Jun 18 16:36:03 2007 +0200
@@ -0,0 +1,28 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - MoinMoin.xmlrpc.xmlrpc_system_multicall Fault serialization
+
+    @copyright: 2007 by Karol Nowak <grywacz@gmail.com>
+    @license: GNU GPL, see COPYING for details.
+"""
+
+from MoinMoin.xmlrpc import XmlRpcBase
+from MoinMoin.request.CLI import Request
+from xmlrpclib import Fault
+
+def xmlrpc_return_fault():
+    return Fault(666, "Fault description")
+
+def test_fault_serialization():
+    xmlrpc = XmlRpcBase(Request())
+    xmlrpc.xmlrpc_return_fault = xmlrpc_return_fault
+    args = [{'methodName': 'return_fault', 'params': [ ]}]
+    
+    print """If a XML RPC method returns a Fault, we should get a failure response
+    instead of a serialized Fault, as it happened in the past. See revision
+    8b7d6d70fc95 for details"""
+    
+    result = xmlrpc.xmlrpc_system_multicall(args)
+    assert(type(result[0]) == dict)
+    assert(result[0].has_key("faultCode") and result[0].has_key("faultString"))
+    
\ No newline at end of file