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())
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])
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])
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)