• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

contrib/opal/ZSI/test/wsdl2py/test_NVOAdmin.py

00001 #!/usr/bin/env python
00002 ############################################################################
00003 # Joshua R. Boverhof, LBNL
00004 # See LBNLCopyright for copyright notice!
00005 ###########################################################################
00006 import os, sys, unittest
00007 from ServiceTest import main, ServiceTestCase, ServiceTestSuite
00008 from ZSI import SoapWriter, ParsedSoap, TC,  FaultException
00009 from ZSI import _child_elements, _get_element_nsuri_name, _is_element
00010 from ZSI.schema import ElementDeclaration
00011 from ZSI.wstools.Namespaces import SCHEMA
00012 
00013 from xml.dom.ext.reader import PyExpat
00014 from xml.dom import Node
00015 """
00016 Unittest for NVO Admin.
00017 
00018 WSDL:  
00019 """
00020 #from ZSI.wstools.logging import setBasicLoggerDEBUG; setBasicLoggerDEBUG()
00021 
00022 class schema(ElementDeclaration, TC.XML):
00023     """Create an element for dealing with <xsd:schema>
00024     """
00025     schema = SCHEMA.XSD3
00026     literal = "schema"
00027 
00028     def __init__(self, *args, **kw):
00029         # minOccurs=1, maxOccurs=1, nillable=False, encoded=kw.get("encoded")
00030         TC.XML.__init__(self, pname=(SCHEMA.XSD3, "schema"),  wrapped=False, **kw)
00031 
00032 
00033 # General targets
00034 def dispatch():
00035     """Run all dispatch tests"""
00036     suite = ServiceTestSuite()
00037     suite.addTest(unittest.makeSuite(ServiceTest, 'test_dispatch'))
00038     return suite
00039 
00040 def local():
00041     """Run all local tests"""
00042     suite = ServiceTestSuite()
00043     suite.addTest(unittest.makeSuite(ServiceTest, 'test_local'))
00044     return suite
00045 
00046 def net():
00047     """Run all network tests"""
00048     suite = ServiceTestSuite()
00049     suite.addTest(unittest.makeSuite(ServiceTest, 'test_net'))
00050     return suite
00051     
00052 def all():
00053     """Run all tests"""
00054     suite = ServiceTestSuite()
00055     suite.addTest(unittest.makeSuite(ServiceTest, 'test_'))
00056     return suite
00057 
00058 
00059 class NVOAdmin(ServiceTestCase):
00060     """Test case for NVO Admin
00061 
00062     """
00063     name = "test_NVOAdmin"
00064     client_file_name = "RegistryAdmin_client.py"
00065     types_file_name = "RegistryAdmin_types.py"
00066     #server_file_name = "RegistryAdmin_server.py"
00067 
00068     def __init__(self, methodName):
00069         ServiceTestCase.__init__(self, methodName)
00070         self.wsdl2py_args.append('-b')
00071 
00072     def test_local_serialize_schema(self):
00073         from ZSI import SoapWriter    
00074         from ZSI import _child_elements
00075         from xml.dom.ext.reader import PyExpat
00076         msg = self.client_module.DSQueryRegistrySoapOut()
00077         msg.DSQueryRegistryResult = msg.new_DSQueryRegistryResult()
00078         msg.DSQueryRegistryResult.Any = 'hi'
00079 
00080         input = open('wsdl/nvo-admin.wsdl').read()
00081         reader = PyExpat.Reader()
00082         dom = reader.fromString(input)
00083 
00084         dnode =  _child_elements(dom)[0]
00085         tnode =  _child_elements(dnode)[0]
00086         snode =  _child_elements(tnode)[0]
00087 
00088         msg.DSQueryRegistryResult.Schema = snode
00089 
00090         sw = SoapWriter()
00091         sw.serialize(msg)
00092         soap = str(sw)
00093         print soap        
00094 
00095         ps = ParsedSoap(soap)
00096         pyobj = ps.Parse(msg.typecode)
00097         self.failUnlessEqual(pyobj.DSQueryRegistryResult.Any, msg.DSQueryRegistryResult.Any)
00098         self.failUnless(_is_element(pyobj.DSQueryRegistryResult.Schema))
00099         print _get_element_nsuri_name(pyobj.DSQueryRegistryResult.Schema)
00100         self.failUnlessEqual(_get_element_nsuri_name(pyobj.DSQueryRegistryResult.Schema), (u'http://www.w3.org/2001/XMLSchema', u'schema'))
00101         
00102 
00103 ServiceTest = NVOAdmin
00104 
00105 if __name__ == "__main__" :
00106     main()
00107 

Generated on Wed Oct 20 2010 11:12:17 for APBS by  doxygen 1.7.2