1#!/usr/bin/env python 2############################################################################ 3# Joshua R. Boverhof, LBNL 4# See LBNLCopyright for copyright notice! 5########################################################################### 6import os, sys, unittest 7from ServiceTest import main, ServiceTestCase, ServiceTestSuite 8from ZSI import FaultException 9""" 10Unittest 11 12WSDL: ../../samples/Echo/Echo.wsdl 13""" 14 15# General targets 16def dispatch(): 17 """Run all dispatch tests""" 18 suite = ServiceTestSuite() 19 suite.addTest(unittest.makeSuite(EchoTestCase, 'test_dispatch')) 20 return suite 21 22def local(): 23 """Run all local tests""" 24 suite = ServiceTestSuite() 25 suite.addTest(unittest.makeSuite(EchoTestCase, 'test_local')) 26 return suite 27 28def net(): 29 """Run all network tests""" 30 suite = ServiceTestSuite() 31 suite.addTest(unittest.makeSuite(EchoTestCase, 'test_net')) 32 return suite 33 34def all(): 35 """Run all tests""" 36 suite = ServiceTestSuite() 37 suite.addTest(unittest.makeSuite(EchoTestCase, 'test_')) 38 return suite 39 40 41class EchoTestCase(ServiceTestCase): 42 name = "test_Echo" 43 client_file_name = "EchoServer_client.py" 44 types_file_name = "EchoServer_types.py" 45 server_file_name = "EchoServer_server.py" 46 47 def __init__(self, methodName): 48 ServiceTestCase.__init__(self, methodName) 49 self.wsdl2py_args.append('-b') 50 51 def test_local_Echo(self): 52 msg = self.client_module.EchoRequest() 53 rsp = self.client_module.EchoResponse() 54 55 def test_dispatch_Echo(self): 56 loc = self.client_module.EchoServerLocator() 57 port = loc.getEchoServer(**self.getPortKWArgs()) 58 59 msg = self.client_module.EchoRequest() 60 msg.EchoIn = 'bla bla bla' 61 rsp = port.Echo(msg) 62 self.failUnless(rsp.EchoResult == msg.EchoIn, "Bad Echo") 63 64 65if __name__ == "__main__" : 66 main() 67 68