def test_mime_content_serialize_xml(): wsdl = stub(schema=stub(_prefix_map={})) operation = stub(location='my-action', name='foo') element_1 = xsd.Element('arg1', xsd.ComplexType([ xsd.Element('arg1_1', xsd.String()) ])) element_2 = xsd.Element('arg2', xsd.String()) abstract_message = definitions.AbstractMessage( etree.QName('{http://test.python-zeep.org/tests/msg}Method')) abstract_message.parts = OrderedDict([ ('xarg1', definitions.MessagePart(element=element_1, type=None)), ('xarg2', definitions.MessagePart(element=element_2, type=None)), ]) msg = messages.MimeContent( wsdl=wsdl, name=None, operation=operation, content_type='text/xml', part_name=None) msg._info = { 'body': {'namespace': 'http://test.python-zeep.org/tests/rpc'}, 'header': None, 'headerfault': None } msg.resolve(wsdl, abstract_message) serialized = msg.serialize(xarg1={'arg1_1': 'uh'}, xarg2='bla') assert serialized.headers == { 'Content-Type': 'text/xml' } assert serialized.path == 'my-action' assert_nodes_equal( load_xml(serialized.content), load_xml( "<foo><xarg1><arg1_1>uh</arg1_1></xarg1><xarg2>bla</xarg2></foo>"))
def test_mime_content_signature(abstract_message_input): wsdl = stub(schema=stub(_prefix_map={})) operation = stub(location='my-action', name='foo') msg = messages.MimeContent( wsdl=wsdl, name=None, operation=operation, content_type='application/x-www-form-urlencoded', part_name='') msg._info = { 'body': {'namespace': 'http://test.python-zeep.org/tests/rpc'}, 'header': None, 'headerfault': None } msg.resolve(wsdl, abstract_message_input) assert msg.signature() == 'arg1: xsd:string, arg2: xsd:string'