a ‚oe"ã@s’dZddlZddlZddlZddlZddlmZej  e  d¡¡Z Gdd„dej ƒZ Gdd„dej ƒZed krŽe e ejd d…eg¡¡dS) zTests for acme.jws.éN)Ú test_utilzrsa512_key.pemc @s\eZdZdZe d¡ZdZze e¡Wne e fyFdsBJ‚Yn 0dsPJ‚dd„Z dS) Ú HeaderTestzTests for acme.jws.Header.ófooÚFTFcCsfddlm}|jd}t tj¡�| |j¡Wdƒn1sD0Yd| |j ¡ksbJ‚dS)Nr)ÚHeaderÚnoncer) Úacme.jwsrÚ_fieldsÚpytestZraisesÚjoseZDeserializationErrorÚdecodeÚ wrong_nonceÚ good_nonce)ÚselfrZ nonce_field©rú>C:\Program Files\Certbot\pkgs\acme\_internal\tests\jws_test.pyÚtest_nonce_decoders   *zHeaderTest.test_nonce_decoderN) Ú__name__Ú __module__Ú __qualname__Ú__doc__r Zencode_b64joserr Z b64decodeÚ ValueErrorÚ TypeErrorrrrrrr s rc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚJWSTestzTests for acme.jws.JWS.cCs.t|_|j ¡|_t d¡|_d|_d|_dS)NsNonceÚhiZbaaaaa) ÚKEYÚprivkeyZ public_keyÚpubkeyr Z b64encoderÚurlÚkid)rrrrÚsetUp&s   z JWSTest.setUpcCs”ddlm}|jd|jtj|j|j|jd�}|j j j|jks@J‚|j j j|jksTJ‚|j j j|jkshJ‚|j j j duszJ‚||  |  ¡¡ks�J‚dS)Nr©ÚJWSr)ÚpayloadÚkeyÚalgrrr)rr"Úsignrr ÚRS256rrrÚ signatureÚcombinedÚjwkZ from_jsonZto_json©rr"ZjwsrrrÚtest_kid_serialize-s  þzJWSTest.test_kid_serializecCsRddlm}|jd|jtj|j|jd�}|jj j dus:J‚|jj j |j ksNJ‚dS)Nrr!r)r#r$r%rr) rr"r&rr r'rrr(r)rr*rr+rrrÚtest_jwk_serialize:s  þzJWSTest.test_jwk_serializeN)rrrrr r,r-rrrrr#s rÚ__main__é)rÚsysZunittestZjosepyr r Zacme._internal.testsrZJWKRSAÚloadZ load_vectorrZTestCaserrrÚexitÚmainÚargvÚ__file__rrrrÚs