Ñò
I'Lc        
   @   s˜   d  Z  d d k Z d d k Z d d k Z d d k Z d d k l Z l Z d d k Td d k	 Td e i
 f d „  ƒ  YZ e d j o e i ƒ  n d S(   s'   benoitc@e-engura.com (BenoÃ®t Chesneau)iÿÿÿÿN(   t   ResourceNotFoundt   RequestFailed(   t   *t   LoaderTestCasec           B   sn   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 d „ Z d	 „  Z d
 „  Z RS(   c         C   s²   t  i ƒ  \ } } t i | ƒ | |  _ t i |  i ƒ t i i t i i t	 ƒ d ƒ |  _
 t i i |  i d ƒ |  _ t i |  i
 |  i ƒ t ƒ  |  _ |  i i d ƒ |  _ d  S(   Ns   data/app-templates   couchdbkit-testt   couchdbkit_test(   t   tempfilet   mkstempt   ost   unlinkt   tempdirt   makedirst   patht   joint   dirnamet   __file__t   template_dirt   app_dirt   shutilt   copytreet   Servert   servert	   create_dbt   db(   t   selft   ft   fname(    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   setUp   s    	$c         C   s”   xƒ t  i |  i d t ƒD]i \ } } } x* | D]" } t  i t  i i | | ƒ ƒ q/ Wx* | D]" } t  i t  i i | | ƒ ƒ q\ Wq W|  i d =d  S(   Nt   topdownR   (	   R   t   walkR	   t   Falset   removeR   R   t   rmdirR   (   R   t   roott   dirst   filest   name(    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   tearDown!   s        $c         C   s¨   t  |  i ƒ } | i ƒ  d } |  i t | t ƒ ƒ |  i d | j ƒ |  i | d d j ƒ |  i d | j ƒ |  i d | d j ƒ |  i d | d d j ƒ d  S(   Ni    t   _ids   _design/couchdbkit-testt   libt   helperst   template(   t   FileSystemDocsLoaderR	   t   get_docst   assert_t
   isinstancet   dict(   R   t   lt
   design_doc(    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt
   testGetDoc)   s    c         C   s‡   t  |  i ƒ } | i ƒ  d } |  i d | j ƒ |  i d | d j ƒ |  i d | d d j ƒ |  i d | d d d j ƒ d  S(   Ni    t   viewst   examplet   mapt   emit(   R)   R	   R*   R+   (   R   R.   R/   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testGetDocView3   s    c         C   s6   t  |  i ƒ } | i ƒ  d } |  i d | j ƒ d  S(   Ni    t   couchapp(   R)   R	   R*   R+   (   R   R.   R/   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testGetDocCouchApp;   s    c         C   s‘   t  |  i ƒ } | i ƒ  d } |  i d | d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ |  i t | d d ƒ d j ƒ d  S(   Ni    t   manifestR6   s   lib/helpers/template.jss   foo/i   (   R)   R	   R*   R+   t   len(   R   R.   R/   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testGetDocManifest@   s    c         C   s”   t  |  i ƒ } | i ƒ  d } |  i d | j ƒ |  i d | d j ƒ |  i d | d j ƒ t | d d d ƒ i ƒ  } |  i | d j ƒ d  S(   Ni    t   _attachmentss
   index.htmls   style/main.csst   rbs   /* add styles here */(   R)   R	   R*   R+   t   opent   read(   R   R.   R/   t   content(    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testGetDocAttachmentsI   s    c         C   s¹   t  |  i ƒ } | i ƒ  d } |  i d | d j ƒ |  i t | d d ƒ d j ƒ |  i d | d d j ƒ | d d d } t t i i |  i	 d ƒ ƒ } |  i | | j ƒ d  S(   Ni    t
   signaturesR6   i   s
   index.htmls   _attachments/index.html(
   R)   R	   R*   R+   R9   t	   sign_fileR   R   R   R   (   R   R.   R/   t	   signaturet
   fsignature(    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testGetDocSignaturesS   s    !c         C   sÊ  t  |  i ƒ } | i |  i d | d t ƒd  } y |  i d } Wn t j
 o n X|  i | d  j	 ƒ |  i d | d d d j ƒ |  i d | d j ƒ |  i d	 | d j ƒ |  i d
 | d d d j ƒ |  i d | d d j ƒ |  i d | j ƒ |  i | d d d d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ |  i d | d d j ƒ d  S(   Nt   atomict   verboses   _design/couchdbkit-testt   functionR1   R2   R3   t   emptyt   wrongt   stddevs	   ejohn.orgt   showss   example-showR;   s
   index.htmlt   content_types	   text/htmls   foo/R6   R8   s    Generated CouchApp Form Templates   Test XML Feedt   listst   feeds	   "helpers"s
   "template"t   Resig(	   R)   R	   t   syncR   t   Truet   NoneR    R+   t   assertFalse(   R   RF   R.   R/   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   _sync]   s*    c         C   s   |  i  ƒ  d  S(   N(   RU   (   R   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testSync‰   s    c         C   s   |  i  d t ƒ d  S(   NRF   (   RU   R   (   R   (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   testSyncNonAtomicŒ   s    (   t   __name__t
   __module__R   R$   R0   R5   R7   R:   R@   RE   RR   RU   RV   RW   (    (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyR      s   			
					
	
,	t   __main__(   t
   __author__R   R   R   t   unittestt   restkitR    R   t
   couchdbkitt   couchdbkit.utilst   TestCaseR   RX   t   main(    (    (    sG   /Users/benoitc/Work/couchdbkit_env/src/couchdbkit/tests/test_loaders.pyt   <module>   s   

|