ó
õoQc           @   sô   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l m	 Z	 d  d l
 m Z e j j e j ƒ Z d a d d „ Z e j d ƒ d	 e j f d
 „  ƒ  Yƒ Z d „  Z d „  Z d „  Z e d k rð e ƒ  n  d S(   iÿÿÿÿN(   t   DOM(   t
   WSDLReader(   t   TimeoutError(   t   testst   services_by_filec         C   sd   t  |  ƒ \ } } t | |  ƒ a t j ƒ  } x0 t d | ƒ D] } | j t j t d ƒ ƒ q= W| S(   Ni    t   test_(	   t   setUpOptionst	   getOptiont   nameGeneratort   unittestt	   TestSuitet   ranget   addTestt	   makeSuitet   WSDLToolsTestCase(   t   sectiont   cpt   numTestst   suitet   i(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   makeTestSuite   s    s   skipping due broken assetsR   c           B   sk   e  Z d  d „ Z d „  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z RS(   t   runTestc         C   s   t  j j |  | ƒ d  S(   N(   R	   t   TestCaset   __init__(   t   selft
   methodName(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyR   %   s    c         C   s/   t  ƒ  t j ƒ  |  _ |  j GHt j j ƒ  d  S(   N(   R   R   t   nextt   patht   syst   stdoutt   flush(   R   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   setUp(   s    c         C   s>   t  j j |  ƒ } t |  d ƒ r2 d | |  j f Sd | Sd  S(   NR   s   %s: %ss   %s(   R	   R   t   __str__t   hasattrR   (   R   t   teststr(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyR    .   s    t   namec   
      C   s   |  j  d  k r d  S|  j  j j } t j | j ƒ } t j | ƒ } xS t j | | | ƒ D]< } t j	 | | ƒ } | | }	 |  j
 t d | ƒ | ƒ qY Wd  S(   Ns   comp.%s(   t   wsdlt   Nonet   documentt   documentElementR    t   WSDLUriToVersiont   namespaceURIt
   GetWSDLUrit   getElementst   getAttrt   failUnlessEqualt   eval(
   R   t   tag_namet	   componentt   keyt
   definitiont   versiont   nspnamet   nodeR#   t   comp(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   checkWSDLCollection5   s    
c         C   s;   x4 t  j | | ƒ D]  } t  j | | ƒ } | | q Wd  S(   N(   R    R+   R,   (   R   R/   R0   R5   R1   t   cnodeR#   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   checkXSDCollection@   s    c   
      C   s  yJ |  j  d  d k r1 t ƒ  j |  j  ƒ |  _ n t ƒ  j |  j  ƒ |  _ Wn= t k
 rp d GHt j j ƒ  d  S|  j  d |  _  ‚  n Xy |  j	 d |  j j
 ƒ Wn |  j  d |  _  ‚  n Xy |  j	 d |  j j ƒ Wn |  j  d |  _  ‚  n Xy |  j	 d	 |  j j ƒ Wn |  j  d
 |  _  ‚  n Xy |  j	 d |  j j ƒ Wn |  j  d |  _  ‚  n Xy  |  j	 d |  j j d d ƒWn |  j  d |  _  ‚  n Xyx@ |  j j j ƒ  D], } |  j j | } |  j | | j ƒ  ƒ q¹W|  j j j } t j | j ƒ } t j | ƒ } x™ t j | d | ƒ D]‚ } xy t j | d ƒ D]e } t j | ƒ } |  j j | } |  j | | ƒ |  j | | ƒ |  j | | ƒ |  j | | ƒ qHWq/WWn |  j  d |  _  ‚  n X|  j j rd |  j j  GHx  |  j j D] }	 d G|	 GHqûWn  d  S(   Ni   s   http://s   connection timed outs   : load failed, unable to startt   services   : wsdl.servicest   messages   : wsdl.messagest   portTypes   : wsdl.portTypest   bindings   : wsdl.bindingst   importR1   t	   namespaces   : wsdl.importst   typest   schemas   : wsdl.typess&   No check for WSDLTools(%s) Extensions:s   	(!   R   R   t   loadFromURLR$   t   loadFromFileR   R   R   R   R7   t   servicest   messagest	   portTypest   bindingst   importsR@   t   keysR-   t   getTargetNamespaceR&   R'   R    R(   R)   R*   R+   t   findTargetNSt   schemaAttributesDeclarationst    schemaAttributeGroupDeclarationst   schemaElementDeclarationst   schemaTypeDefinitionst
   extensionsR#   (
   R   R1   RA   R2   R3   R4   R5   t   snodet   tnst   ext(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   test_allE   sv    c         C   s   |  j  d | j | ƒ d  S(   Nt	   attribute(   R9   t	   attr_decl(   R   RA   R5   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyRL   Œ   s    c         C   s   |  j  d | j | ƒ d  S(   Nt   group(   R9   t   attr_groups(   R   RA   R5   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyRM      s    c         C   s   |  j  d | j | ƒ d  S(   Nt   element(   R9   t   elements(   R   RA   R5   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyRN   ’   s    c         C   s0   |  j  d | j | ƒ |  j  d | j | ƒ d  S(   Nt   complexTypet
   simpleType(   R9   R@   (   R   RA   R5   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyRO   •   s    (   t   __name__t
   __module__R   R   R    R7   R9   RT   RL   RM   RN   RO   (    (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyR   "   s   			G			c         C   s   t  j  ƒ  } | j t d ƒ | j ƒ  s> d GHt j d ƒ n  | j |  ƒ sf d |  GHt j d ƒ n  | t | j |  ƒ ƒ f S(   Ns   /config.txts7   fatal error:  configuration file config.txt not presenti    s5   %s section not present in configuration file, exiting(	   t   ConfigParsert   readt   cwdt   sectionsR   t   exitt   has_sectiont   lent   options(   R   R   (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyR   š   s    	c         c   s)   x" |  j  | ƒ D] \ } } | Vq Wd  S(   N(   t   items(   R   R   R#   t   value(    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyR   ¦   s    c           C   s   t  j d d ƒ d  S(   Nt   defaultTestR   (   R	   t   main(    (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyRj   «   s    t   __main__(   R   R	   R_   t   ost   wstools.UtilityR    t   wstools.WSDLToolsR   t   wstools.TimeoutSocketR   t   wstoolsR   R   t   dirnamet   __file__Ra   R%   R   R   t   skipR   R   R   R   Rj   R]   (    (    (    s;   /usr/lib/python2.7/dist-packages/wstools/tests/test_wsdl.pyt   <module>   s"   w			