コード例 #1
0
ファイル: test_modelopener.py プロジェクト: jhafeeza/soaplib
 def test_valid(self):
     complex = complex_factory()
     opener = ModelOpener(ComplexModel)
     valid, log = opener.validate_instance(complex)
     
     self.assertTrue(valid)
     self.assertEquals(len(log), 0)
コード例 #2
0
    def test_sequence_always_the_same(self):
        mo = ModelOpener(ManySimpleElements)
        # Testing that the output for the schema is *always the same*
        #NOTE:the following line is only meant for allowing the testcase to pass
        mo.get_schema_xml()
        out = mo.get_schema_xml()

        for x in xrange(1000):
            self.assertEquals(out, mo.get_schema_xml())
コード例 #3
0
 def test_baz_xsd_order(self):
     expected_children_order = ['b' , 'a', 'z']
     baz = ModelOpener(Baz)
     for i in xrange(1000):
         baz_xsd = baz.get_schema_xml()
         baz_schema = lxml.etree.fromstring(baz_xsd)
         baz_xsd_children = baz_schema.xpath('/xs:schema/xs:complexType\
                                              [@name="Baz"]/xs:sequence/xs:element', 
                                              namespaces={'xs':'http://www.w3.org/2001/XMLSchema'})
         self.assertTrue(baz_xsd_children)
         self.assertEquals(expected_children_order, [child.get('name') for child in baz_xsd_children])
コード例 #4
0
 def test_foo_xsd_order(self):
     expected_children_order = ['f' , 'o', 'o_', 'faz']
     foo = ModelOpener(Foo)
     for i in xrange(1000):
         foo_xsd = foo.get_schema_xml()
         foo_schema = lxml.etree.fromstring(foo_xsd)
         foo_xsd_children = foo_schema.xpath('/xs:schema/xs:complexType\
                                              [@name="Foo"]/xs:sequence/xs:element', 
                                              namespaces={'xs':'http://www.w3.org/2001/XMLSchema'})
         self.assertTrue(foo_xsd_children)
         self.assertEquals(expected_children_order, [child.get('name') for child in foo_xsd_children])
コード例 #5
0
ファイル: test_modelopener.py プロジェクト: jhafeeza/soaplib
    def test_invalid(self):
        # Created two validation errors here
        # 1) a is not nillable
        # 2) i must be type xs:integer
        n = NoNillable()
        n.i = "A"

        opener = ModelOpener(NoNillable)
        valid, log = opener.validate_instance(n)
        self.assertFalse(valid)
        self.assertEquals(len(log), 2)
コード例 #6
0
ファイル: test_modelopener.py プロジェクト: jhafeeza/soaplib
    def test_get_instance_etree(self):
        opener = ModelOpener(ComplexModel)
        element = opener.get_instance_etree(complex_factory())
        chidren = [child for child in element]

        self.assertEqual(len(chidren), 4)
        tag_contains = "complexmodel" in element.tag
        #TODO: Clean up this test, it seems a bit magical
        #TODO: Search the sub tags.
        #TODO: Search the sub values
        self.assertTrue(tag_contains)
コード例 #7
0
ファイル: test_modelopener.py プロジェクト: jhafeeza/soaplib
    def test_get_instance_xml(self):
        opener = ModelOpener(ComplexModel)
        xml_string = opener.get_instance_xml(complex_factory())
        self.assertNotEquals(xml_string, None)
        self.assertNotEquals(xml_string,"")
        element = etree.fromstring(xml_string)

        chidren = [child for child in element]

        self.assertEqual(len(chidren), 4)
        tag_contains = "complexmodel" in element.tag
        #TODO: Clean up this test, it seems a bit magical
        #TODO: Search the sub tags.
        #TODO: Search the sub values
        self.assertTrue(tag_contains)
コード例 #8
0
class CustomizedInstanceTestCase(unittest.TestCase):

    def setUp(self):
        self.instance = bar_factory()
        self.mo = ModelOpener(Bar)
        self.xml = self.mo.get_instance_etree(self.instance)

    def test_children_tag_order(self):

        expected = [
            "{bar}b", "{bar}a", "{bar}r", "{bar}f", "{bar}o", "{bar}o_",
            "{bar}b1", "{bar}a2", "{bar}r2", "{bar}baz"
        ]
        
        self.assertEquals(
            expected,
            [n.tag for n in self.xml.iterchildren()]
        )
コード例 #9
0
 def setUp(self):
     self.instance = bar_factory()
     self.mo = ModelOpener(Bar)
     self.xml = self.mo.get_instance_etree(self.instance)
コード例 #10
0
 def test_root_tag(self):
     mo = ModelOpener(Bar)
     xsd_doc = mo.get_schema_xml()
     schema = lxml.etree.fromstring(xsd_doc)
     root = schema.tag
     self.assertEquals(NS_SCHEMA, root)