1.1 --- a/tests/xmlrpc_test.py Fri Sep 12 01:03:56 2008 +0200
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,190 +0,0 @@
1.4 -#!/usr/bin/env python
1.5 -
1.6 -import libxml2dom.xmlrpc
1.7 -
1.8 -# Some examples from the specification.
1.9 -
1.10 -request = """<?xml version="1.0"?>
1.11 -<methodCall>
1.12 - <methodName>examples.getStateName</methodName>
1.13 - <params>
1.14 - <param>
1.15 - <value><i4>41</i4></value>
1.16 - </param>
1.17 - </params>
1.18 - </methodCall>"""
1.19 -
1.20 -req = libxml2dom.xmlrpc.parseString(request)
1.21 -assert req.method.methodName == "examples.getStateName"
1.22 -assert req.method.parameterValues == [41]
1.23 -assert req.fault is None
1.24 -print "Method name:", req.method.methodName
1.25 -print "Parameter values:", req.method.parameterValues
1.26 -print "Fault:", req.fault
1.27 -
1.28 -response = """<?xml version="1.0"?>
1.29 -<methodResponse>
1.30 - <params>
1.31 - <param>
1.32 - <value><string>South Dakota</string></value>
1.33 - </param>
1.34 - </params>
1.35 - </methodResponse>"""
1.36 -
1.37 -resp = libxml2dom.xmlrpc.parseString(response)
1.38 -assert resp.method.methodName is None
1.39 -assert resp.method.parameterValues == ["South Dakota"]
1.40 -assert resp.fault is None
1.41 -print "Method name:", resp.method.methodName
1.42 -print "Parameter values:", resp.method.parameterValues
1.43 -print "Fault:", resp.fault
1.44 -
1.45 -failed = """<?xml version="1.0"?>
1.46 -<methodResponse>
1.47 - <fault>
1.48 - <value>
1.49 - <struct>
1.50 - <member>
1.51 - <name>faultCode</name>
1.52 - <value><int>4</int></value>
1.53 - </member>
1.54 - <member>
1.55 - <name>faultString</name>
1.56 - <value><string>Too many parameters.</string></value>
1.57 - </member>
1.58 - </struct>
1.59 - </value>
1.60 - </fault>
1.61 - </methodResponse>"""
1.62 -
1.63 -f = libxml2dom.xmlrpc.parseString(failed)
1.64 -assert f.method.methodName is None
1.65 -assert f.method.parameterValues == []
1.66 -assert f.fault.code == "4"
1.67 -assert f.fault.reason == "Too many parameters."
1.68 -print "Method name:", f.method.methodName
1.69 -print "Parameter values:", f.method.parameterValues
1.70 -print "Fault code:", f.fault.code
1.71 -
1.72 -# Python Package Index examples.
1.73 -
1.74 -search = """<?xml version="1.0"?>
1.75 -<methodCall>
1.76 - <methodName>search</methodName>
1.77 - <params>
1.78 - <param>
1.79 - <value>
1.80 - <struct>
1.81 - <member>
1.82 - <name>name</name>
1.83 - <value><string>libxml2dom</string></value>
1.84 - </member>
1.85 - <member>
1.86 - <name>description</name>
1.87 - <value>XML</value>
1.88 - </member>
1.89 - </struct>
1.90 - </value>
1.91 - </param>
1.92 - <param>
1.93 - <value>
1.94 - <string>and</string>
1.95 - </value>
1.96 - </param>
1.97 - </params>
1.98 -</methodCall>"""
1.99 -
1.100 -s = libxml2dom.xmlrpc.parseString(search)
1.101 -assert s.method.methodName == "search"
1.102 -assert s.method.parameterValues == [
1.103 - [
1.104 - ("name", "libxml2dom"),
1.105 - ("description", "XML")
1.106 - ],
1.107 - "and"
1.108 - ]
1.109 -assert s.fault is None
1.110 -print "Method name:", s.method.methodName
1.111 -print "Parameter values:", s.method.parameterValues
1.112 -print "Fault:", s.fault
1.113 -
1.114 -# Nested structure examples.
1.115 -
1.116 -search2 = """<?xml version="1.0"?>
1.117 -<methodCall>
1.118 - <methodName>search</methodName>
1.119 - <params>
1.120 - <param>
1.121 - <value>
1.122 - <struct>
1.123 - <member>
1.124 - <name>names</name>
1.125 - <value>
1.126 - <struct>
1.127 - <member>
1.128 - <name>name</name>
1.129 - <value><string>libxml2dom</string></value>
1.130 - </member>
1.131 - <member>
1.132 - <name>description</name>
1.133 - <value>XML</value>
1.134 - </member>
1.135 - </struct>
1.136 - </value>
1.137 - </member>
1.138 - </struct>
1.139 - </value>
1.140 - </param>
1.141 - <param>
1.142 - <value>
1.143 - <string>and</string>
1.144 - </value>
1.145 - </param>
1.146 - </params>
1.147 -</methodCall>"""
1.148 -
1.149 -s2 = libxml2dom.xmlrpc.parseString(search2)
1.150 -assert s2.method.methodName == "search"
1.151 -assert s2.method.parameterValues == [
1.152 - [
1.153 - ("names", [
1.154 - ("name", "libxml2dom"),
1.155 - ("description", "XML")
1.156 - ])
1.157 - ],
1.158 - "and"
1.159 - ]
1.160 -assert s2.fault is None
1.161 -print "Method name:", s2.method.methodName
1.162 -print "Parameter values:", s2.method.parameterValues
1.163 -print "Fault:", s2.fault
1.164 -
1.165 -arrays = """<?xml version="1.0"?>
1.166 - <methodResponse>
1.167 - <params>
1.168 - <param>
1.169 - <value>
1.170 - <array>
1.171 - <data>
1.172 - <value>
1.173 - <string>libxml2dom</string>
1.174 - </value>
1.175 - <value>
1.176 - <string>XSLTools</string>
1.177 - </value>
1.178 - </data>
1.179 - </array>
1.180 - </value>
1.181 - </param>
1.182 - </params>
1.183 - </methodResponse>"""
1.184 -
1.185 -a = libxml2dom.xmlrpc.parseString(arrays)
1.186 -assert a.method.methodName is None
1.187 -assert a.method.parameterValues == [["libxml2dom", "XSLTools"]]
1.188 -assert a.fault is None
1.189 -print "Method name:", a.method.methodName
1.190 -print "Parameter values:", a.method.parameterValues
1.191 -print "Fault:", a.fault
1.192 -
1.193 -# vim: tabstop=4 expandtab shiftwidth=4