00001
00002
00003
00004
00005
00006 import sys, unittest
00007 from ServiceTest import main, ServiceTestCase, ServiceTestSuite
00008 from ZSI import FaultException
00009 """
00010 Unittest for contacting
00011
00012 WSDL: http://webservices.sabre.com/wsdl/sabreXML1.0.00/res/SessionCreateRQ.wsdl
00013 """
00014
00015
00016
00017 def dispatch():
00018 """Run all dispatch tests"""
00019 suite = ServiceTestSuite()
00020 suite.addTest(unittest.makeSuite(ServiceTest, 'test_dispatch'))
00021 return suite
00022
00023 def local():
00024 """Run all local tests"""
00025 suite = ServiceTestSuite()
00026 suite.addTest(unittest.makeSuite(ServiceTest, 'test_local'))
00027 return suite
00028
00029 def net():
00030 """Run all network tests"""
00031 suite = ServiceTestSuite()
00032 suite.addTest(unittest.makeSuite(ServiceTest, 'test_net'))
00033 return suite
00034
00035 def all():
00036 """Run all tests"""
00037 suite = ServiceTestSuite()
00038 suite.addTest(unittest.makeSuite(ServiceTest, 'test_'))
00039 return suite
00040
00041
00042 class ServiceTest(ServiceTestCase):
00043 """Test case for Sabre Web service
00044
00045 """
00046 name = "test_Sabre"
00047 client_file_name = "SessionCreateRQService_client.py"
00048 types_file_name = "SessionCreateRQService_types.py"
00049 server_file_name = "SessionCreateRQService_server.py"
00050
00051 def __init__(self, methodName):
00052 ServiceTestCase.__init__(self, methodName)
00053 self.wsdl2py_args.append('-b')
00054
00055 def test_net_SessionCreate(self):
00056 """
00057 _________________________________ Mon Jan 2 13:41:22 2006 REQUEST:
00058 <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ZSI="http://www.zolera.com/schemas/ZSI/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header></SOAP-ENV:Header><SOAP-ENV:Body xmlns:ns1="http://www.opentravel.org/OTA/2002/11"><ns1:SessionCreateRQ><ns1:POS><ns1:Source PseudoCityCode="SF"></ns1:Source></ns1:POS></ns1:SessionCreateRQ></SOAP-ENV:Body></SOAP-ENV:Envelope>
00059 _________________________________ Mon Jan 2 13:41:22 2006 RESPONSE:
00060 Server: Netscape-Enterprise/6.0
00061 Date: Mon, 02 Jan 2006 21:41:21 GMT
00062 Content-Length: 1568
00063 Content-Type: text/xml; charset="utf-8"
00064 Soapaction: ""
00065
00066 <?xml version="1.0" encoding="UTF-8"?>
00067 <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header><wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"/></soap-env:Header><soap-env:Body><soap-env:Fault><faultcode>soap-env:Client.ConversationIdRequired</faultcode><faultstring>Conversation id required</faultstring><detail><StackTrace>com.sabre.universalservices.base.session.SessionException: errors.session.USG_CONVERSATION_ID_REQUIRED
00068 at com.sabre.universalservices.gateway.control.SecurityInterceptor.executeOnRequest(SecurityInterceptor.java:111)
00069 at com.sabre.universalservices.base.interceptor.Interceptor.execute(Interceptor.java:113)
00070 at com.sabre.universalservices.base.interceptor.InterceptorChain.applyInterceptors(InterceptorChain.java:32)
00071 at com.sabre.universalservices.base.interceptor.InterceptorManager.process(InterceptorManager.java:116)
00072 at com.sabre.universalservices.gateway.control.WSGateway.onMessage(WSGateway.java:297)
00073 at com.sabre.universalservices.gateway.control.WSGateway.handleRequest(WSGateway.java:208)
00074 at com.sabre.universalservices.gateway.control.WSGateway.doPost(WSGateway.java:156)
00075 at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
00076 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
00077 at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:919)
00078 at com.iplanet.server.http.servlet.NSServletRunner.Service(NSServletRunner.java:483)
00079 </StackTrace></detail></soap-env:Fault></soap-env:Body></soap-env:Envelope>
00080 E
00081 """
00082 loc = self.client_module.SessionCreateRQServiceLocator()
00083 port = loc.getSessionCreatePortType(**self.getPortKWArgs())
00084
00085 msg = self.client_module.GetSessionCreateInput()
00086 msg.POS = msg.new_POS()
00087 msg.POS.Source = msg.POS.new_Source()
00088 msg.POS.Source.set_attribute_PseudoCityCode("SF")
00089
00090 self.failUnlessRaises(FaultException, port.SessionCreateRQ, msg)
00091
00092
00093
00094
00095
00096
00097
00098 if __name__ == "__main__" :
00099 main()
00100