ó
›t0^c           @   s»   d  Z  d d l Z d d l Z d d l Z d d l m Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d	 „  ƒ  YZ	 d
 e j f d „  ƒ  YZ
 e d k r· e j ƒ  n  d S(   s   Tests for josepy.util.iÿÿÿÿN(   t	   test_utilt   ComparableX509Testc           B   sM   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   s%   Tests for josepy.util.ComparableX509.c         C   sp   t  j d ƒ |  _ t  j d ƒ |  _ t  j d ƒ |  _ t  j d ƒ |  _ t  j d ƒ |  _ t  j d ƒ |  _ d  S(   Ns   csr.pems   csr-san.pems   cert.pems   cert-san.pem(	   R    t   load_comparable_csrt   req1t   req2t	   req_othert   load_comparable_certt   cert1t   cert2t
   cert_other(   t   self(    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   setUp   s    c         C   s   |  j  |  j j ƒ  ƒ d  S(   N(   t
   assertTrueR   t   has_expired(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_getattr_proxy   s    c         C   s0   |  j  |  j |  j ƒ |  j  |  j |  j ƒ d  S(   N(   t   assertEqualR   R   R   R   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_eq   s    c         C   s0   |  j  |  j |  j ƒ |  j  |  j |  j ƒ d  S(   N(   t   assertNotEqualR   R   R   R	   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_ne   s    c         C   s*   |  j  |  j d ƒ |  j  |  j d ƒ d  S(   Ni   (   R   R   R   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_ne_wrong_types"   s    c         C   sŒ   |  j  t |  j ƒ t |  j ƒ ƒ |  j t |  j ƒ t |  j ƒ ƒ |  j  t |  j ƒ t |  j ƒ ƒ |  j t |  j ƒ t |  j ƒ ƒ d  S(   N(	   R   t   hashR   R   R   R   R   R   R	   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt	   test_hash&   s    """c         C   sC   x< |  j  |  j f D]( } |  j t | ƒ d j | j ƒ ƒ q Wd  S(   Ns   <ComparableX509({0!r})>(   R   R   R   t   reprt   formatt   wrapped(   R
   t   x509(    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt	   test_repr-   s    (
   t   __name__t
   __module__t   __doc__R   R   R   R   R   R   R   (    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   
   s   	
					t   ComparableRSAKeyTestc           B   sh   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   s'   Tests for josepy.util.ComparableRSAKey.c         C   s:   t  j d ƒ |  _ t  j d ƒ |  _ t  j d ƒ |  _ d  S(   Ns   rsa256_key.pems   rsa512_key.pem(   R    t   load_rsa_private_keyt   keyt   key_samet   key2(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   6   s    c         C   s   |  j  d |  j j ƒ d  S(   Ni   (   R   R    t   key_size(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   <   s    c         C   s   |  j  |  j |  j ƒ d  S(   N(   R   R    R!   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   ?   s    c         C   s   |  j  |  j |  j ƒ d  S(   N(   R   R    R"   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   B   s    c         C   s   |  j  |  j d ƒ d  S(   Ni   (   R   R    (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_ne_different_typesE   s    c         C   s   |  j  |  j |  j j ƒ d  S(   N(   R   R    R!   t   _wrapped(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_ne_not_wrappedH   s    c         C   s0   d d l  m } |  j | d ƒ | d ƒ ƒ d  S(   Niÿÿÿÿ(   t   ComparableRSAKeyi   (   t   josepy.utilR'   R   (   R
   R'   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_ne_no_serializationL   s    c         C   sg   |  j  t t |  j ƒ t ƒ ƒ |  j t |  j ƒ t |  j ƒ ƒ |  j t |  j ƒ t |  j ƒ ƒ d  S(   N(	   R   t
   isinstanceR   R    t   intR   R!   R   R"   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   P   s    "c         C   s#   |  j  t |  j ƒ j d ƒ ƒ d  S(   Ns'   <ComparableRSAKey(<cryptography.hazmat.(   R   R   R    t
   startswith(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   U   s    c         C   s3   d d l  m } |  j t |  j j ƒ  | ƒ ƒ d  S(   Niÿÿÿÿ(   R'   (   R(   R'   R   R*   R    t
   public_key(   R
   R'   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_public_keyY   s    (   R   R   R   R   R   R   R   R$   R&   R)   R   R   R.   (    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   3   s   									t   ImmutableMapTestc           B   sz   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 d „  Z RS(   s#   Tests for josepy.util.ImmutableMap.c         C   s¾   d d l  m } d | f d „  ƒ  Y} d | f d „  ƒ  Y} | |  _ | |  _ |  j d d d	 d
 ƒ |  _ |  j d	 d
 d d ƒ |  _ |  j d d d	 d ƒ |  _ |  j d d d	 d
 ƒ |  _ d  S(   Niÿÿÿÿ(   t   ImmutableMapt   Ac           B   s   e  Z d Z RS(   t   xt   y(   R2   R3   (   R   R   t	   __slots__(    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR1   f   s   t   Bc           B   s   e  Z d Z RS(   R2   R3   (   R2   R3   (   R   R   R4   (    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR5   i   s   R2   i   R3   i   i   i   (   R(   R0   R1   R5   t   a1t   a1_swapt   a2t   b(   R
   R0   R1   R5   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   a   s    		c         C   s]   |  j  |  j d d d d ƒ |  j j d d ƒ ƒ |  j  |  j |  j j d d d d ƒ ƒ d  S(   NR2   i   R3   i   i   (   R   R1   R6   t   updateR8   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_updatet   s    1c         C   s   |  j  t |  j j d ƒ d  S(   Nt   z(   t   assertRaisest   KeyErrorR6   t   __getitem__(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt&   test_get_missing_item_raises_key_errorx   s    c         C   s   |  j  |  j |  j ƒ d  S(   N(   R   R6   R7   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt"   test_order_of_args_does_not_matter{   s    c         C   s6   |  j  t |  j d d ƒ|  j  t |  j d d ƒd  S(   NR2   i   R3   i   (   R=   t	   TypeErrorR1   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_type_error_on_missing~   s    c      	   C   sH   |  j  t |  j d d d d ƒ|  j  t |  j d d d d d d ƒd  S(   NR2   i   R<   i   R3   i   (   R=   RB   R1   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_type_error_on_unrecognized‚   s    c         C   s\   |  j  d |  j j ƒ |  j  d |  j j ƒ |  j  d |  j j ƒ |  j  d |  j j ƒ d  S(   Ni   i   (   R   R6   R2   R3   R7   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_get_attr†   s    c         C   s)   |  j  t t j |  j j d ƒ d ƒ d  S(   NR2   i
   (   R=   t   AttributeErrort	   functoolst   partialR6   t   __setattr__(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt$   test_set_attr_raises_attribute_errorŒ   s    c         C   sF   |  j  |  j |  j ƒ |  j  |  j |  j ƒ |  j |  j |  j ƒ d  S(   N(   R   R6   R8   R   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt
   test_equal   s    c         C   s#   |  j  t d ƒ t |  j ƒ ƒ d  S(   Ni   i   (   i   i   (   R   R   R6   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   •   s    c         C   s)   |  j  t |  j d d d i  ƒ j ƒ d  S(   NR2   i   R3   (   R=   RB   R1   t   __hash__(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_unhashable˜   s    c         C   sw   |  j  d t |  j ƒ ƒ |  j  d t |  j ƒ ƒ |  j  d t |  j ƒ ƒ |  j  d t |  j d d d d ƒ ƒ ƒ d  S(   Ns   A(x=1, y=2)s   B(x=1, y=2)s   B(x='foo', y='bar')R2   t   fooR3   t   bar(   R   R   R6   R7   R9   R5   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   ›   s    (   R   R   R   R   R;   R@   RA   RC   RD   RE   RJ   RK   R   RM   R   (    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR/   ^   s   											t   frozendictTestc           B   s_   e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   s!   Tests for josepy.util.frozendict.c         C   s,   d d l  m } | d d d d ƒ |  _ d  S(   Niÿÿÿÿ(   t
   frozendictR2   i   R3   t   2(   R(   RQ   t   fdict(   R
   RQ   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   ¥   s    c         C   s;   d d l  m } |  j |  j | i d d 6d d 6ƒ ƒ d  S(   Niÿÿÿÿ(   RQ   i   R2   RR   R3   (   R(   RQ   R   RS   (   R
   RQ   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_init_dict©   s    c         C   s7   d d l  m } |  j t | t j i d d 6ƒ ƒ d  S(   Niÿÿÿÿ(   RQ   R9   t   a(   R(   RQ   R=   RB   t   sixt	   iteritems(   R
   RQ   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt!   test_init_other_raises_type_error­   s    c         C   s   |  j  d t |  j ƒ ƒ d  S(   Ni   (   R   t   lenRS   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_len²   s    c         C   s#   |  j  t t |  j ƒ t ƒ ƒ d  S(   N(   R   R*   R   RS   R+   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   µ   s    c         C   s0   |  j  d |  j j ƒ |  j  d |  j j ƒ d  S(   Ni   RR   (   R   RS   R2   R3   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   ¸   s    c         C   s   |  j  t |  j j d ƒ d  S(   NR<   (   R=   RF   RS   t   __getattr__(   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt#   test_getattr_raises_attribute_error¼   s    c         C   s    |  j  t |  j j d d ƒ d  S(   NR<   i   (   R=   RF   RS   RI   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   test_setattr_immutable¿   s    c         C   s   |  j  d t |  j ƒ ƒ d  S(   Ns   frozendict(x=1, y='2')(   R   R   RS   (   R
   (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyR   Â   s    (   R   R   R   R   RT   RX   RZ   R   R   R\   R]   R   (    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyRP   ¢   s   								t   __main__(   R   RG   t   unittestRV   t   josepyR    t   TestCaseR   R   R/   RP   R   t   main(    (    (    s4   /usr/lib/python2.7/site-packages/josepy/util_test.pyt   <module>   s   )+D$