# HG changeset patch # User paulb # Date 1191194628 0 # Node ID fe6ce4bd69901a01acbd4fe00457d394e6773422 # Parent d1afa576a419eed5769ff87ced9bd1556bbc020c [project @ 2007-09-30 23:23:48 by paulb] Enhanced the SOAP and XML-RPC tests. diff -r d1afa576a419 -r fe6ce4bd6990 tests/soap_test.py --- a/tests/soap_test.py Sun Sep 30 23:23:40 2007 +0000 +++ b/tests/soap_test.py Sun Sep 30 23:23:48 2007 +0000 @@ -30,6 +30,15 @@ """ req = libxml2dom.soap.parseString(request) +assert req.methodName == "chargeReservation" +assert req.parameterValues == [ + [("code", "FT35ZBQ")], + [("name", u"Åke Jógvan Øyvind"), ("number", "123456789099999"), ("expiration", "2005-02")] + ] +assert req.fault is None +print "Method name:", req.methodName +print "Parameter values:", req.parameterValues +print "Fault:", req.fault response = """ @@ -52,6 +61,12 @@ """ resp = libxml2dom.soap.parseString(response) +assert resp.methodName == "chargeReservationResponse" +assert resp.parameterValues == [("code", "FT35ZBQ"), ("viewAt", "http://travelcompany.example.org/reservations?code=FT35ZBQ")] +assert resp.fault is None +print "Method name:", resp.methodName +print "Parameter values:", resp.parameterValues +print "Fault:", resp.fault response2 = """ @@ -77,6 +92,15 @@ """ resp2 = libxml2dom.soap.parseString(response2) +assert resp2.methodName == "chargeReservationResponse" +assert resp2.parameterValues == [ + ("result", "m:status"), ("status", "confirmed"), ("code", "FT35ZBQ"), + ("viewAt", "http://travelcompany.example.org/reservations?code=FT35ZBQ") + ] +assert resp2.fault is None +print "Method name:", resp2.methodName +print "Parameter values:", resp2.parameterValues +print "Fault:", resp2.fault failed = """ """ f = libxml2dom.soap.parseString(failed) +assert f.methodName is None +assert f.parameterValues == [] +assert f.fault.code == "env:Sender" +assert f.fault.subcode == "rpc:BadArguments" +print "Method name:", f.methodName +print "Parameter values:", f.parameterValues +print "Fault code:", f.fault.code # vim: tabstop=4 expandtab shiftwidth=4 diff -r d1afa576a419 -r fe6ce4bd6990 tests/xmlrpc_test.py --- a/tests/xmlrpc_test.py Sun Sep 30 23:23:40 2007 +0000 +++ b/tests/xmlrpc_test.py Sun Sep 30 23:23:48 2007 +0000 @@ -2,6 +2,8 @@ import libxml2dom.xmlrpc +# Some examples from the specification. + request = """ examples.getStateName @@ -13,6 +15,12 @@ """ req = libxml2dom.xmlrpc.parseString(request) +assert req.methodName == "examples.getStateName" +assert req.parameterValues == [41] +assert req.fault is None +print "Method name:", req.methodName +print "Parameter values:", req.parameterValues +print "Fault:", req.fault response = """ @@ -24,6 +32,12 @@ """ resp = libxml2dom.xmlrpc.parseString(response) +assert resp.methodName is None +assert resp.parameterValues == ["South Dakota"] +assert resp.fault is None +print "Method name:", resp.methodName +print "Parameter values:", resp.parameterValues +print "Fault:", resp.fault failed = """ @@ -44,5 +58,54 @@ """ f = libxml2dom.xmlrpc.parseString(failed) +assert f.methodName is None +assert f.parameterValues == [] +assert f.fault.code == "4" +assert f.fault.reason == "Too many parameters." +print "Method name:", f.methodName +print "Parameter values:", f.parameterValues +print "Fault code:", f.fault.code + +# Python Package Index examples. + +search = """ + + search + + + + + + name + libxml2dom + + + description + XML + + + + + + + and + + + +""" + +s = libxml2dom.xmlrpc.parseString(search) +assert s.methodName == "search" +assert s.parameterValues == [[("name", "libxml2dom"), ("description", "XML")], "and"] +assert s.parameterItems == [ + (None, [("name", "libxml2dom"), ("description", "XML")]), + (None, "and") + ] +assert s.fault is None +print "Method name:", s.methodName +print "Parameter values:", s.parameterValues +print "Parameter items:", s.parameterItems +print "Parameter map:", s.parameterMap +print "Fault:", s.fault # vim: tabstop=4 expandtab shiftwidth=4