blob: f60322bdc1b7ef54f246a764b680f2eeef7624ad [file] [log] [blame]
#!/usr/bin/python
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# Test XML handling functions
import unittest
from elemutil import *
from xmlutil import *
customerXML = \
"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\n" \
"<customer>" \
"<name>jdoe</name>" \
"<address><city>san francisco</city><state>ca</state></address>" \
"<account><id>1234</id><balance>1000</balance></account>" \
"<account><id>6789</id><balance>2000</balance></account>" \
"<account><id>4567</id><balance>3000</balance></account>" \
"</customer>\n"
def testElements():
ad = (("'city", "san francisco"), ("'state", "ca"))
ac1 = (("'id", "1234"), ("'balance", 1000))
ac2 = (("'id", "6789"), ("'balance", 2000))
ac3 = (("'id", "4567"), ("'balance", 3000))
c = (("'customer", ("'name", "jdoe"), cons("'address", ad), ("'account", (ac1, ac2, ac3))),)
e = valuesToElements(c)
v = elementsToValues(e)
assert v == c
s = writeXML(e, True)
assert car(s) == customerXML
c2 = (("'customer", ("'name", "jdoe"), cons("'address", ad), cons("'account", ac1), cons("'account", ac2), cons("'account", ac3)),)
e2 = valuesToElements(c2);
v2 = elementsToValues(e2);
s2 = writeXML(e2, True)
assert car(s2) == customerXML
c3 = readXML((customerXML,))
v3 = elementsToValues(c3)
e3 = valuesToElements(v3)
s3 = writeXML(e3, True)
assert car(s3) == customerXML
return True
def testValues():
l = (("'ns1:echoString", ("'@xmlns:ns1", "http://ws.apache.org/axis2/services/echo"), ("'text", "Hello World!")),)
e = valuesToElements(l)
lx = writeXML(e, True)
x = readXML(lx)
v = elementsToValues(x)
assert v == l
return True
if __name__ == "__main__":
print "Testing..."
testElements()
testValues()
print "OK"