ó
`¾Tc           @   s´  d  Z  d d l Z 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	 y] d d l
 Z
 y3 d d l m Z e	 j d d ƒ j j d d	 ƒ Wn e k
 r½ d Z
 n XWn e k
 rØ d Z
 n Xy d d l Z Wnc e k
 rNy d d
 l m Z WqOe k
 rJy d d l Z WqKe k
 rFd Z qKXqOXn Xd e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d S(   sµ   
    werkzeug.testsuite.cache
    ~~~~~~~~~~~~~~~~~~~~~~~~

    Tests the cache system

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   WerkzeugTestCase(   t   cache(   t   ConnectionErrort
   key_prefixs   werkzeug-test-case:t   testt
   connection(   t   memcachet   SimpleCacheTestCasec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s’   t  j ƒ  } | j d d ƒ | j d d ƒ | j d d ƒ } d | k sP t ‚ d | d k sf t ‚ d | k sx t ‚ d | d k sŽ t ‚ d  S(   Nt   at   b(   R   t   SimpleCachet   sett   get_dictt   AssertionError(   t   selft   ct   d(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_get_dict+   s    c         C   s…   t  j ƒ  } | j i d d 6d d 6d d 6ƒ | j d ƒ d k sI t ‚ | j d „  t d ƒ Dƒ ƒ | j d ƒ d k s t ‚ d  S(   Ni    i   i   i   c         s   s   |  ] } | | | f Vq d  S(   N(    (   t   .0t   i(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pys	   <genexpr>9   s    i   (   R   R
   t   set_manyt   getR   t   range(   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_set_many5   s
    "(   t   __name__t
   __module__R   R   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR   )   s   	
t   FileSystemCacheTestCasec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sª   t  j ƒ  } z‰ t j d | ƒ } x. t d ƒ D]  } | j t | ƒ | | ƒ q. Wx? t d ƒ D]1 } | j t | ƒ ƒ } | | | k s_ t ‚ q_ WWd  t	 j
 | ƒ Xd  S(   Nt	   cache_diri   (   t   tempfilet   mkdtempR   t   FileSystemCacheR   R   t   strR   R   t   shutilt   rmtree(   R   t   tmp_dirR   R   t   result(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_set_get?   s    c         C   s“   d } t  j ƒ  } t j d | d | ƒ } x. t d | ƒ D] } | j t | ƒ | ƒ q; Wt j | ƒ } t	 j
 | ƒ t | ƒ | k s t ‚ d  S(   Ni   R   t	   thresholdi   (   R   R   R   R   R   R   R   t   ost   listdirR    R!   t   lenR   (   R   t	   THRESHOLDR"   R   R   t   cache_files(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_filesystemcache_pruneK   s    c         C   s—   t  j ƒ  } t j d | ƒ } | j d d ƒ t j | ƒ } t | ƒ d k sU t ‚ | j	 ƒ  t j | ƒ } t | ƒ d k s† t ‚ t
 j | ƒ d  S(   NR   t   foot   bari   i    (   R   R   R   R   R   R&   R'   R(   R   t   clearR    R!   (   R   R"   R   R*   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_filesystemcache_clearV   s    
(   R   R   R$   R+   R/   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR   =   s   		t   RedisCacheTestCasec           B   st   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         C   s   t  j d d ƒ S(   NR   s   werkzeug-test-case:(   R   t
   RedisCache(   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt
   make_cached   s    c         C   s   |  j  ƒ  j ƒ  d  S(   N(   R2   R.   (   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   teardowng   s    c         C   sv   |  j  ƒ  } | j j | j d d ƒ |  j | j d ƒ d ƒ | j j | j d d ƒ |  j | j d ƒ d ƒ d  S(   NR,   t   Awesomet   42i*   (   R2   t   _clientR   R   t   assert_equalR   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_compatj   s
    c         C   sA   |  j  ƒ  } | j d d g ƒ | j d ƒ d g k s= t ‚ d  S(   NR,   R-   (   R2   R   R   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_get_setq   s    c         C   sZ   |  j  ƒ  } | j d d g ƒ | j d d ƒ | j d d ƒ d g d g k sV t ‚ d  S(   NR,   R-   t   spamt   eggs(   R2   R   t   get_manyR   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_get_manyv   s    c         C   sg   |  j  ƒ  } | j i d d 6d g d 6ƒ | j d ƒ d k sE t ‚ | j d ƒ d g k sc t ‚ d  S(   NR-   R,   R;   R:   (   R2   R   R   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR   |   s    c         C   sK   |  j  ƒ  } | j d d d ƒ t j d ƒ | j d ƒ d  k sG t ‚ d  S(   NR,   R-   i   i   (   R2   R   t   timet   sleepR   t   NoneR   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_expire‚   s    c         C   sf   |  j  ƒ  } | j d d ƒ | j d ƒ d k s7 t ‚ | j d d ƒ | j d ƒ d k sb t ‚ d  S(   NR,   R-   t   qux(   R2   t   addR   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_addˆ   s
    c         C   sc   |  j  ƒ  } | j d d ƒ | j d ƒ d k s7 t ‚ | j d ƒ | j d ƒ d  k s_ t ‚ d  S(   NR,   R-   (   R2   RC   R   R   t   deleteR@   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_delete   s
    c         C   sv   |  j  ƒ  } | j d d ƒ | j d d ƒ | j d d ƒ | j d ƒ d  k sW t ‚ | j d ƒ d  k sr t ‚ d  S(   NR,   R-   R:   R;   (   R2   RC   t   delete_manyR   R@   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_delete_many—   s    c         C   s_   |  j  ƒ  } | j d d ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ | j d ƒ d  S(   NR,   i   i   (   R2   R   R7   t   inct   decRE   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_inc_decŸ   s
    c         C   sf   |  j  ƒ  } | j d t ƒ | j d ƒ t k s7 t ‚ | j d t ƒ | j d ƒ t k sb t ‚ d  S(   NR,   R-   (   R2   R   t   TrueR   R   t   False(   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   test_true_false¦   s
    (   R   R   R2   R3   R8   R9   R=   R   RA   RD   RF   RH   RK   RN   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR0   b   s   											t   MemcachedCacheTestCasec           B   st   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z RS(   c         C   s   t  j d d ƒ S(   NR   s   werkzeug-test-case:(   R   t   MemcachedCache(   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR2   °   s    c         C   s   |  j  ƒ  j ƒ  d  S(   N(   R2   R.   (   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR3   ³   s    c         C   sC   |  j  ƒ  } | j j | j d d ƒ |  j | j d ƒ d ƒ d  S(   NR,   R-   (   R2   R6   R   R   R7   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR8   ¶   s    c         C   s9   |  j  ƒ  } | j d d ƒ |  j | j d ƒ d ƒ d  S(   NR,   R-   (   R2   R   R7   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR9   »   s    c         C   sR   |  j  ƒ  } | j d d ƒ | j d d ƒ |  j | j d d ƒ d d g ƒ d  S(   NR,   R-   R:   R;   (   R2   R   R7   R<   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR=   À   s    c         C   s]   |  j  ƒ  } | j i d d 6d d 6ƒ |  j | j d ƒ d ƒ |  j | j d ƒ d ƒ d  S(   NR-   R,   R;   R:   (   R2   R   R7   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyR   Æ   s    c         C   sF   |  j  ƒ  } | j d d d ƒ t j d ƒ |  j | j d ƒ ƒ d  S(   NR,   R-   i   i   (   R2   R   R>   R?   t   assert_is_noneR   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRA   Ì   s    c         C   sb   |  j  ƒ  } | j d d ƒ |  j | j d ƒ d ƒ | j d d ƒ |  j | j d ƒ d ƒ d  S(   NR,   R-   t   baz(   R2   RC   R7   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRD   Ò   s
    c         C   s\   |  j  ƒ  } | j d d ƒ |  j | j d ƒ d ƒ | j d ƒ |  j | j d ƒ ƒ d  S(   NR,   R-   (   R2   RC   R7   R   RE   RQ   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRF   Ù   s
    c         C   sl   |  j  ƒ  } | j d d ƒ | j d d ƒ | j d d ƒ |  j | j d ƒ ƒ |  j | j d ƒ ƒ d  S(   NR,   R-   R:   R;   (   R2   RC   RG   RQ   R   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRH   à   s    c         C   sl   |  j  ƒ  } | j d d ƒ | j d ƒ |  j | j d ƒ d ƒ | j d ƒ |  j | j d ƒ d ƒ d  S(   NR,   i   i   (   R2   R   RI   R7   R   RJ   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRK   è   s    c         C   sb   |  j  ƒ  } | j d t ƒ |  j | j d ƒ t ƒ | j d t ƒ |  j | j d ƒ t ƒ d  S(   NR,   R-   (   R2   R   RL   R7   R   RM   (   R   R   (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRN   ñ   s
    (   R   R   R2   R3   R8   R9   R=   R   RA   RD   RF   RH   RK   RN   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRO   ®   s   												c          C   s†   t  j ƒ  }  |  j t  j t ƒ ƒ |  j t  j t ƒ ƒ t d  k	 r] |  j t  j t ƒ ƒ n  t	 d  k	 r‚ |  j t  j t
 ƒ ƒ n  |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   R   t   redisR@   R0   R   RO   (   t   suite(    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyRX   ù   s    (   t   __doc__R&   R>   RS   R   R    t   werkzeug.testsuiteR    t   werkzeug.contribR   RW   t   redis.exceptionsR   t   RedisConnectionErrorR1   R6   R   R@   t   ImportErrort   pylibmcR   t   google.appengine.apiR   R   R0   RO   RX   (    (    (    sf   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/contrib/cache.pyt   <module>
   s>   #
%LK