ó
`¾Tc           @   sy   d  Z  d d l Z d d l Z d d l m Z d d l m Z m Z m Z m	 Z	 m
 Z
 d e f d „  ƒ  YZ d „  Z d S(   sÀ   
    werkzeug.testsuite.security
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Tests the security helpers.

    :copyright: (c) 2014 by Armin Ronacher.
    :license: BSD, see LICENSE for more details.
iÿÿÿÿN(   t   WerkzeugTestCase(   t   check_password_hasht   generate_password_hasht	   safe_joint
   pbkdf2_hext   safe_str_cmpt   SecurityTestCasec           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s¦   t  d d ƒ t k s t ‚ t  d d ƒ t k s6 t ‚ t  d d ƒ t k sQ t ‚ t  d d ƒ t k sl t ‚ t  d d ƒ t k s‡ t ‚ t  d d ƒ t k s¢ t ‚ d  S(   Nt   au   at   bt   aaat   aat   bbbu   aaa(   R   t   Truet   AssertionErrort   False(   t   self(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   test_safe_str_cmp   s    c         C   sl  t  d ƒ } t | d ƒ s! t ‚ | j d ƒ s6 t ‚ t  d d ƒ } t  d d d ƒ} | | k si t ‚ t | d ƒ s~ t ‚ t | d ƒ s“ t ‚ | j d ƒ s¨ t ‚ | j d ƒ s½ t ‚ t  d d d ƒ} | d k sá t ‚ t | d ƒ sö t ‚ t  d d d	 ƒ} | j d
 ƒ st ‚ t | d ƒ s2t ‚ d } t | d ƒ sMt ‚ d } t | d ƒ sht ‚ d  S(   Nt   defaults   pbkdf2:sha1:1000$t   sha1u   defaultt   methods   sha1$t   plains   plain$$defaultt   md5s   md5$s%   md5$$c21f969b5f03d33d43e04f8f136e7682u%   md5$$c21f969b5f03d33d43e04f8f136e7682(   R   R   R   t
   startswith(   R   t   hash0t   hash1t   hash2t   fakehasht   mhasht   legacy(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   test_password_hashing   s(    c         C   sv   t  d d ƒ t j j d d ƒ k s* t ‚ t  d d ƒ d  k sE t ‚ t j d k rr t  d d ƒ d  k sr t ‚ n  d  S(   Nt   foos   bar/bazs
   ../bar/bazt   nts   foo\bar(   R   t   ost   patht   joinR   t   Nonet   name(   R   (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   test_safe_join9   s    *c            s9  ‡  f d †  } | d d d d  d ƒ | d d d d d ƒ | d d d d d ƒ | d d d	 d d
 ƒ | d d d	 d d ƒ | d d d	 d d ƒ | d d d d d ƒ | d d d d d ƒ | d d d d d ƒ | d d d d d ƒ | d d d d d ƒ | d d d d d d ƒ | d d d  d d d! ƒ d  S("   Nc            s)   t  |  | | | ƒ } ˆ  j | | ƒ d  S(   N(   R   t   assert_equal(   t   datat   saltt
   iterationst   keylent   expectedt   rv(   R   (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   check@   s    t   passwordR(   i   t(   0c60c80f961f0e71f3a9b524af6012062fe037a6i   i   t(   ea6c014dc72d6f8ccd1ed92ace1d41f0d8de8957i   t(   4b007901b765489abead49d926f721d065a429c1t   passwordPASSWORDpasswordt$   saltSALTsaltSALTsaltSALTsaltSALTsalti   t2   3d2eec4fe41c849b80c8d83662c0e44a8b291a964cf2f07038t	   pass wordt   sa lti   t    56fa6aa75548099dcc37d7f03425e0c3s   ATHENA.MIT.EDUraeburnt    cdedb5281bb2f801565a1122b2563515i    t@   cdedb5281bb2f801565a1122b25635150ad1f7a04bb9f3a333ecc0e2e1f70837t    01dbee7f4a9e243e988b62c73cda935dt@   01dbee7f4a9e243e988b62c73cda935da05378b93244ec8f48a99e61ad799d86i°  t@   5c08eb61fdf71e4e4ec3cf6ba1f5512ba7e52ddbc5e5142f708a31e2e62b1e13t   Xi@   s   pass phrase equals block sizet@   139c30c0966bc32ba55fdbf212530ac9c5ec59f1a452f5cc9ad940fea0598ed1iA   s   pass phrase exceeds block sizet@   9ccad6d468770cd51b10e6a68721be611a8b4d282601db3b36be9246915ec82a(   R#   (   R   R-   (    (   R   sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   test_pbkdf2?   s6    	(   t   __name__t
   __module__R   R   R%   R@   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyR      s   			c          C   s&   t  j ƒ  }  |  j t  j t ƒ ƒ |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   (   t   suite(    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyRG   f   s    (   t   __doc__R    RC   t   werkzeug.testsuiteR    t   werkzeug.securityR   R   R   R   R   R   RG   (    (    (    sa   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/werkzeug/testsuite/security.pyt   <module>
   s   (R