#!/usr/bin/python
# -*- coding: UTF-8 -*-

import unittest

from soaplib.serializers.primitive import Integer
from soaplib.serializers.clazz import ClassSerializer

from lxml import etree

class X(ClassSerializer):
    __namespace__='tns'
    x = Integer(nillable=True,max_occurs='unbounded')

class Y(X):
    __namespace__='tns'
    y = Integer

class Test(unittest.TestCase):

    def test_x(self):
        x = X()
        x.x = [1,2]
        element = etree.Element('test')
        X.to_xml(x, 'tns', element)
        msg = element[0]
        r = X.from_xml(msg)
        self.assertEqual(r.x, [1,2])

    def test_y_fromxml(self):
        x = X()
        x.x = [1,2]
        element = etree.Element('test')
        X.to_xml(x, 'tns', element)
        msg = element[0]
        r = Y.from_xml(msg)
        self.assertEqual(r.x, [1,2])

    def test_y_toxml(self):
        y = Y()
        y.x = [1,2]
        y.y = 38
        element = etree.Element('test')
        Y.to_xml(y, 'tns', element)
        msg = element[0]
        r = Y.from_xml(msg)

if __name__ == '__main__':
    unittest.main()
_______________________________________________
Soap mailing list
[email protected]
http://mail.python.org/mailman/listinfo/soap

Reply via email to