³ò
ƒ9Jc           @   s¡   d  Z  d d k Z d d k Z d d k l Z d d k l Z d d k l Z e i i e i i e i	 ƒ  d d d ƒ ƒ Z
 d e i f d	 „  ƒ  YZ d
 „  Z d S(   s^   
Testcases to test behavior of Keyczar Signers.

@author: arkajit.dey@gmail.com (Arkajit Dey)
iÿÿÿÿN(   t   errors(   t   keyczar(   t   utils   ..t   testdatat
   SignerTestc           B   s
  e  Z d  „  Z d „  Z d „  Z e e 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 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   d |  _  d  S(   Ns   This is some test data(   t   input(   t   self(    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   setUp"   s    c         C   s=   t  i i t i i t | ƒ ƒ } | i |  i ƒ } | | f S(   N(	   R   t   Signert   Readt   ost   patht   joint	   TEST_DATAt   SignR   (   R   t   subdirt   signert   sig(    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __signInput%   s    !c         C   s=   t  i i t i i t | ƒ ƒ } | i |  i ƒ } | | f S(   N(	   R   t   UnversionedSignerR	   R
   R   R   R   R   R   (   R   R   t   unversioned_signerR   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __unversionedSignInput*   s    !c         C   sÌ   t  i i t | ƒ } | o | o t i i | ƒ } nJ | o0 | o) t i i t  i i t | d ƒ ƒ } n t i i | ƒ } t i	 t  i i | d ƒ ƒ } t i	 t  i i | d ƒ ƒ } | | | f S(   Ns   .publics   1.outs   2.out(
   R
   R   R   R   R   t   VerifierR	   R   R   t   ReadFile(   R   R   t   verifiert   publicR   t   czart
   active_sigt   primary_sig(    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __readGoldenOutput/   s    )c         C   sN   |  i  | ƒ \ } } |  i | i |  i | ƒ ƒ |  i | i d | ƒ ƒ d  S(   Ns   Wrong string(   t   _SignerTest__signInputt
   assertTruet   VerifyR   t   assertFalse(   R   R   R   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testSignAndVerify;   s    c         C   sN   |  i  | ƒ \ } } |  i | i |  i | ƒ ƒ |  i | i d | ƒ ƒ d  S(   Ns   Wrong string(   t!   _SignerTest__unversionedSignInputR   R    R   R!   (   R   R   R   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testUnversionedSignAndVerify@   s    c         C   sT   |  i  | ƒ \ } } } |  i | i |  i | ƒ ƒ |  i | i |  i | ƒ ƒ d  S(   N(   t   _SignerTest__readGoldenOutputR   R    R   (   R   R   R   R   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testSignerVerifyE   s    c         C   sW   |  i  | t ƒ \ } } } |  i | i |  i | ƒ ƒ |  i | i |  i | ƒ ƒ d  S(   N(   R%   t   TrueR   R    R   (   R   R   R   R   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testVerifyJ   s    c         C   sZ   |  i  | t t ƒ \ } } } |  i | i |  i | ƒ ƒ |  i | i |  i | ƒ ƒ d  S(   N(   R%   R'   R   R    R   (   R   R   t   pubverifierR   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testPublicVerifyO   s    	c         C   sr   |  i  | ƒ \ } } } |  i | i d | ƒ ƒ |  i | i d | ƒ ƒ |  i | i |  i | d  d ƒ ƒ d  S(   Ns   Wrong stringiüÿÿÿt   Junk(   R%   R!   R    R   (   R   R   R   R   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   __testBadVerifyU   s    c         C   s   |  i  d ƒ d  S(   Nt   hmac(   t   _SignerTest__testSignAndVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testHmacSignAndVerify[   s    c         C   s   |  i  d ƒ d  S(   NR-   (   t)   _SignerTest__testUnversionedSignAndVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt    testHmacUnversionedSignAndVerify^   s    c         C   s   |  i  d ƒ d  S(   NR-   (   t   _SignerTest__testSignerVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testHmacVerifya   s    c         C   s   |  i  d ƒ d  S(   NR-   (   t   _SignerTest__testBadVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testBadHmacVerifyd   s    c         C   s   |  i  d ƒ d  S(   Nt   dsa(   R.   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testDsaSignAndVerifyg   s    c         C   s   |  i  d ƒ d  S(   NR6   (   R0   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testDsaUnversionedSignAndVerifyj   s    c         C   s   |  i  d ƒ d  S(   NR6   (   R2   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testDsaSignerVerifym   s    c         C   s   |  i  d ƒ d  S(   NR6   (   t   _SignerTest__testVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testDsaVerifyp   s    c         C   s   |  i  d ƒ d  S(   NR6   (   t   _SignerTest__testPublicVerify(   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testDsaPublicVerifys   s    c         C   s   |  i  d ƒ d  S(   NR6   (   R4   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testBadDsaVerifyv   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R.   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testRsaSignAndVerifyy   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R0   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testRsaUnversionedSignAndVerify|   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R2   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testRsaSignerVerify   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R:   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testRsaVerify‚   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R<   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testRsaPublicVerify…   s    c         C   s   |  i  d ƒ d  S(   Ns   rsa-sign(   R4   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testBadRsaVerifyˆ   s    c         C   sÛ   |  i  d ƒ \ } } t i | ƒ } |  i t i | i |  i d ƒ t i t	 d ƒ | d ƒ } |  i t i
 | i |  i | ƒ t	 t | d ƒ d Aƒ } t i | d | | d ƒ } |  i t i | i |  i | ƒ d  S(   NR-   t   ABi   i   i-   i    i   (   R   R   t   Decodet   assertRaisesR    t   ShortSignatureErrorR    R   t   Encodet   chrt   BadVersionErrort   ordt   KeyNotFoundError(   R   R   R   t	   sig_bytest   bad_sigt   char(    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   testHmacBadSigs‹   s    c         C   s   d  |  _ d  S(   N(   t   NoneR   (   R   (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   tearDown˜   s    (   t   __name__t
   __module__R   R   R#   t   FalseR%   R.   R0   R2   R:   R<   R4   R/   R1   R3   R5   R7   R8   R9   R;   R=   R>   R?   R@   RA   RB   RC   RD   RQ   RS   (    (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyR       s8   																										c           C   s   t  i t d ƒ S(   Nt   test(   t   unittestt	   makeSuiteR   (    (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pyt   suite›   s    (   t   __doc__R
   RX   R   R    R   R   t   realpathR   t   getcwdR   t   TestCaseR   RZ   (    (    (    sA   /home/sweis/workspace/Keyczar-Python/tests/keyczar/signer_test.pys   <module>   s   -{