1.1 --- a/tests/xmlrpc_test.py Sat Oct 06 19:33:22 2007 +0000
1.2 +++ b/tests/xmlrpc_test.py Sat Oct 06 19:33:47 2007 +0000
1.3 @@ -16,10 +16,10 @@
1.4
1.5 req = libxml2dom.xmlrpc.parseString(request)
1.6 assert req.method.methodName == "examples.getStateName"
1.7 -assert req.method.parameterValues == [("i4", "41")]
1.8 +assert req.method.rawParameterValues == [(("i4", ""), "41")]
1.9 assert req.fault is None
1.10 print "Method name:", req.method.methodName
1.11 -print "Parameter values:", req.method.parameterValues
1.12 +print "Parameter values:", req.method.rawParameterValues
1.13 print "Fault:", req.fault
1.14
1.15 response = """<?xml version="1.0"?>
1.16 @@ -33,10 +33,10 @@
1.17
1.18 resp = libxml2dom.xmlrpc.parseString(response)
1.19 assert resp.method.methodName is None
1.20 -assert resp.method.parameterValues == [("string", "South Dakota")]
1.21 +assert resp.method.rawParameterValues == [(("string", ""), "South Dakota")]
1.22 assert resp.fault is None
1.23 print "Method name:", resp.method.methodName
1.24 -print "Parameter values:", resp.method.parameterValues
1.25 +print "Parameter values:", resp.method.rawParameterValues
1.26 print "Fault:", resp.fault
1.27
1.28 failed = """<?xml version="1.0"?>
1.29 @@ -59,11 +59,11 @@
1.30
1.31 f = libxml2dom.xmlrpc.parseString(failed)
1.32 assert f.method.methodName is None
1.33 -assert f.method.parameterValues == []
1.34 +assert f.method.rawParameterValues == []
1.35 assert f.fault.code == "4"
1.36 assert f.fault.reason == "Too many parameters."
1.37 print "Method name:", f.method.methodName
1.38 -print "Parameter values:", f.method.parameterValues
1.39 +print "Parameter values:", f.method.rawParameterValues
1.40 print "Fault code:", f.fault.code
1.41
1.42 # Python Package Index examples.
1.43 @@ -96,10 +96,93 @@
1.44
1.45 s = libxml2dom.xmlrpc.parseString(search)
1.46 assert s.method.methodName == "search"
1.47 -assert s.method.parameterValues == [("struct", [("name", ("string", "libxml2dom")), ("description", ("string", "XML"))]), ("string", "and")]
1.48 +assert s.method.rawParameterValues == [
1.49 + (("struct", None), [
1.50 + (("string", "name"), "libxml2dom"), (("string", "description"), "XML")
1.51 + ]),
1.52 + (("string", None), "and")
1.53 + ]
1.54 assert s.fault is None
1.55 print "Method name:", s.method.methodName
1.56 -print "Parameter values:", s.method.parameterValues
1.57 +print "Parameter values:", s.method.rawParameterValues
1.58 print "Fault:", s.fault
1.59
1.60 +# Nested structure examples.
1.61 +
1.62 +search2 = """<?xml version="1.0"?>
1.63 +<methodCall>
1.64 + <methodName>search</methodName>
1.65 + <params>
1.66 + <param>
1.67 + <value>
1.68 + <struct>
1.69 + <member>
1.70 + <name>names</name>
1.71 + <value>
1.72 + <struct>
1.73 + <member>
1.74 + <name>name</name>
1.75 + <value><string>libxml2dom</string></value>
1.76 + </member>
1.77 + <member>
1.78 + <name>description</name>
1.79 + <value>XML</value>
1.80 + </member>
1.81 + </struct>
1.82 + </value>
1.83 + </member>
1.84 + </struct>
1.85 + </value>
1.86 + </param>
1.87 + <param>
1.88 + <value>
1.89 + <string>and</string>
1.90 + </value>
1.91 + </param>
1.92 + </params>
1.93 +</methodCall>"""
1.94 +
1.95 +s2 = libxml2dom.xmlrpc.parseString(search2)
1.96 +assert s2.method.methodName == "search"
1.97 +assert s2.method.rawParameterValues == [
1.98 + (("struct", None), [
1.99 + (("struct", "names"), [(("string", "name"), "libxml2dom"), (("string", "description"), "XML")])
1.100 + ]),
1.101 + (("string", None), "and")
1.102 + ]
1.103 +assert s2.fault is None
1.104 +print "Method name:", s2.method.methodName
1.105 +print "Parameter values:", s2.method.rawParameterValues
1.106 +print "Fault:", s2.fault
1.107 +
1.108 +arrays = """<?xml version="1.0"?>
1.109 + <methodResponse>
1.110 + <params>
1.111 + <param>
1.112 + <value>
1.113 + <array>
1.114 + <data>
1.115 + <value>
1.116 + <string>libxml2dom</string>
1.117 + </value>
1.118 + <value>
1.119 + <string>XSLTools</string>
1.120 + </value>
1.121 + </data>
1.122 + </array>
1.123 + </value>
1.124 + </param>
1.125 + </params>
1.126 + </methodResponse>"""
1.127 +
1.128 +a = libxml2dom.xmlrpc.parseString(arrays)
1.129 +assert a.method.methodName is None
1.130 +assert a.method.rawParameterValues == [
1.131 + (("array", None), [(("string", None), "libxml2dom"), (("string", None), "XSLTools")])
1.132 + ]
1.133 +assert a.fault is None
1.134 +print "Method name:", a.method.methodName
1.135 +print "Parameter values:", a.method.rawParameterValues
1.136 +print "Fault:", a.fault
1.137 +
1.138 # vim: tabstop=4 expandtab shiftwidth=4