
    M/e"                     P   d Z ddlZddlZddlZddlZddlmZ ej                  j                   ej                  d            Z G d dej                        Z G d dej                        Zed	k(  r4 ej                    ej"                  ej$                  d
d egz                yy)zTests for acme.jws.    N)	test_utilzrsa512_key.pemc                       e Zd ZdZ ej
                  d      ZdZ	  ej                  e       J # e	e
f$ r Y d Zyw xY w)
HeaderTestzTests for acme.jws.Header.   fooFc                    ddl m} |j                  d   }t        j                  t
        j                        5  |j                  | j                         d d d        d|j                  | j                        k(  sJ y # 1 sw Y   *xY w)Nr   )Headernoncer   )
acme.jwsr	   _fieldspytestraisesjoseDeserializationErrordecodewrong_nonce
good_nonce)selfr	   nonce_fields      ?/usr/lib/python3/dist-packages/acme/_internal/tests/jws_test.pytest_nonce_decoderzHeaderTest.test_nonce_decoder   sk    #nnW-]]4445 	1t//0	1++DOO<<<<	1 	1s   A>>BN)__name__
__module____qualname____doc__r   encode_b64joser   r   	b64decode
ValueError	TypeErrorr        r   r   r      sT    $$$$V,JK{# 	u 	" =s   0 ==r   c                   "    e Zd ZdZd Zd Zd Zy)JWSTestzTests for acme.jws.JWS.c                     t         | _        | j                  j                         | _        t	        j
                  d      | _        d| _        d| _        y )Ns   Noncehibaaaaa)	KEYprivkey
public_keypubkeyr   	b64encoder
   urlkid)r   s    r   setUpzJWSTest.setUp&   s;    ll--/^^H-
r!   c                 P   ddl m} |j                  d| j                  t        j
                  | j                  | j                  | j                        }|j                  j                  j                  | j                  k(  sJ |j                  j                  j                  | j                  k(  sJ |j                  j                  j                  | j                  k(  sJ |j                  j                  j                  J ||j                  |j                               k(  sJ y )Nr   JWSr   )payloadkeyalgr
   r,   r-   )r   r1   signr(   r   RS256r
   r,   r-   	signaturecombinedjwk	from_jsonto_jsonr   r1   jwss      r   test_kid_serializezJWSTest.test_kid_serialize-   s     hhv4<<::TZZ88  3 }}%%++tzz999}}%%))TXX555}}%%))TXX555}}%%))111 cmmCKKM2222r!   c                 6   ddl m} |j                  d| j                  t        j
                  | j                  | j                        }|j                  j                  j                  J |j                  j                  j                  | j                  k(  sJ y )Nr   r0   r   )r2   r3   r4   r
   r,   )r   r1   r5   r(   r   r6   r
   r,   r7   r8   r-   r9   r*   r<   s      r   test_jwk_serializezJWSTest.test_jwk_serialize:   st     hhv4<<::TZZ88  % }}%%))111}}%%))T[[888r!   N)r   r   r   r   r.   r>   r@   r    r!   r   r#   r#   #   s    !39r!   r#   __main__   )r   sysunittestjosepyr   r   acme._internal.testsr   JWKRSAloadload_vectorr'   TestCaser   r#   r   exitmainargv__file__r    r!   r   <module>rO      s     
    *
kk,y,,-=>?="" =,9h 9@ zCHH[V[[!"
234 r!   