Spade
Mini Shell
�
�t0^c@s"dZddlZddlZddlZddlZddlmZmZmZm Z m
Z
e
jd�Ze j
je
jd��Zdejfd��YZdejfd ��YZd
ejfd��YZdejfd
��YZdejfd��YZedkrej�ndS(sTests
for
josepy.jws.i����N(terrorst json_utiltjwatjwkt test_utilscert.pemsrsa512_key.pemt
MediaTypeTestcBs
eZdZd�Zd�ZRS(sTests for
josepy.jws.MediaType.cCs_ddlm}|jd|jd��|jd|jd��|jtj|jd�dS(Ni����(t MediaTypesapplication/apptappsapp;foo(t
josepy.jwsRtassertEqualtdecodetassertRaisesRtDeserializationError(tselfR((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_decodes
cCsFddlm}|jd|jd��|jd|jd��dS(Ni����(RRsapplication/appsapplication/app;foo(RRR tencode(R
R((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_encodes (t__name__t
__module__t__doc__RR(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyRs t
HeaderTestcBsVeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
RS( sTests for
josepy.jws.Header.cCsVddlm}|dd�|_|dd�|_|dd �|_|�|_dS(
Ni����(tHeaderRtfootbartcrittatb(RR(RRtheader1theader2Rtempty(R
R((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pytsetUp"s
cCs=ddlm}|j|dddd�|j|j�dS( Ni����(RRRRRR(RR(RRR RR(R
R((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_add_non_empty)scCs>|j|j|j|j�|j|j|j|j�dS(N(R RR(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_add_empty.scCs
|jt|jj|j�dS(N(Rt TypeErrorRt__add__R(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_add_overlapping_error2scCs|jt|jjd�dS(Ntxxx(RR!RR"(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_add_wrong_type_error5scCs:ddlm}|jtj|jiddgd6�dS(Ni����(RRRR(RRRRRt from_json(R
R((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_crit_decode_always_errors8scCs�ddlm}|dttf�}|j�}tjjtjjtj�}t j
|�}|j|i||gd6�|j||j|��t j
d|�|dd<|j
tj|j|�dS(Ni����(Rtx5cR$i(RRtCERTtto_partial_jsontOpenSSLtcryptotdump_certificatet
FILETYPE_ASN1twrappedtbase64t b64encodeR R&RRR(R
Rtheadertjobjt cert_asn1tcert_b64((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_x5c_decoding=s cCsO|jd|jj��|jd|jj��|jtj|jj�dS(NRR(R Rtfind_keyRRRtErrorR(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyt
test_find_keyIs(RRRRRR
R#R%R'R6R9(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyRs t
SignatureTestcBs
eZdZd�Zd�ZRS(sTests for
josepy.jws.Signature.cCsmddlm}ddlm}|j|ddd|dtj��|jidd6id d6d6��dS(
Ni����(R(t Signaturet signatureRR2talgtZm9vtRS256(RRR;R RR?R&(R
RR;((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_from_jsonRscCs4ddlm}|jtj|jidd6�dS(Ni����(R;RR<(RR;RRRR&(R
R;((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_from_json_no_alg_errorZs(RRRR@RA(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyR:Os tJWSTestcBszeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�ZRS(
sTests for
josepy.jws.JWS.cCs�t|_|jj�|_ddlm}|jddd|jdtj�|_ |jddd|jdtjdt
ddg��|_|jddd|jdtjdt
dg��|_dS( Ni����(tJWStpayloadRtkeyR=tprotectR(
tKEYtprivkeyt
public_keytpubkeyRRCtsignRR?tunprotectedt frozensett protectedtmixed(R
RC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyRcs cCsa|j|jjjj|j�|j|jjjj|j�|j|jjjj|j�dS(N(R RLR<tcombinedRRJRNRO(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_pubkey_jwkqscCs|j|jj��dS(N(t
assertTrueRLtverify(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_sign_unprotectedvscCs|j|jj��dS(N(RRRNRS(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_sign_protectedyscCs|j|jj��dS(N(RRRORS(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_sign_mixed|scCs�|jj�}|jd|�ddlm}|j|�}|j|j|�|jtdg�t|jj j
���dS(NsreyJhbGciOiAiUlMyNTYifQ.Zm9v.OHdxFVj73l5LpxbFp1AmYX4yJM0Pyb_893n1zQjpim_eLS5J1F61lkvrCrCDErTEJnBGOGesJ72M7b6Ve1cAJAi����(RCR=(ROt
to_compactR RRCtfrom_compacttassertNotEqualtsetR<RPtnot_omitted(R
tcompactRCRO((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_compact_lost_unprotectedscCs-ddlm}|jtj|jd�dS(Ni����(RCt.(RRCRRRRX(R
RC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyt$test_from_compact_missing_components�scCs�|jjdt�}|jjdt�}|jd|k�|jd|k�|dj�|d<ddlm}|j|j |�|j�|j|j |�|j�dS(NtflatRNR2i����(RC(
RNR*tTrueRLRRtto_jsonRRCR R&(R
tprotected_jobjtunprotected_jobjRC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_json_omitempty�scCs�itj|jjj�d6tjd�d6|jjjd6tj|jjjjd��d6}|j�}|dj�|d<|j |jj
dt�|�dd lm
}|j |j|j|��dS(
NR<RRDR2sutf-8RNR`i����(RC(Rtencode_b64joseROR<R2RNRtcopyRbR R*RaRRCR&(R
tjobj_tot jobj_fromRC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_json_flat�scCs�i|jjfd6tjd�d6}|j�}|ddj�g|d<|j|jjdt�|�ddl m
}|j|j|j|��dS(Nt
signaturesRRDiR`i����(RC(ROR<RRfRgRbR R*tFalseRRCR&(R
RhRiRC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_json_not_flat�scCs;ddlm}|jtj|jidd6dd6�dS(Ni����(RCRkRR<((RRCRRRR&(R
RC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_from_json_mixed_flat�scCs0ddlm}t|j|jj���dS(Ni����(RC(RRCthashR&RORb(R
RC((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_from_json_hashable�s(RRRRRQRTRURVR]R_ReRjRmRnRp(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyRB`s
tCLITestcBs,eZd�Zd�Zd�Zd�ZRS(cCstjd�|_dS(Nsrsa512_key.pem(Rtvector_pathtkey_path(R
((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyR�scCsjddlm}tjd��E}d|j_tjd��!|jd|jdg��WdQXWdQXdS(Ni����(tCLIs sys.stdins&{"payload":
"foo", "signature": "xxx"}s
sys.stdoutRS(RRttmocktpatchtreadtreturn_valueR trun(R
Rttsin((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_unverified�s
cCs�ddlm}tjd���}d|j_tjd��f}|jdd|jdd d
dg�|jj dd
d|j_|j
d|jdg��WdQXWdQXdS(Ni����(Rts sys.stdinRs
sys.stdoutRKs-ks-aR?s-pRiiRS(RRtRuRvRwRxRyRstwritet
mock_callsR (R
RtRztsout((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyt test_json�s
cCs�ddlm}tjd���}d|j_tjd��o}|jddd|jg�|jj d d
d |j_|j
d |jdddd
d|jg��WdQXWdQXdS(Ni����(Rts sys.stdinRs
sys.stdouts --compactRKs-kiiRSs--ktytRSA(RRtRuRvRwRxRyRsR|R}R (R
RtRzR~((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyttest_compact�s(RRRR{RR�(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyRq�s t__main__(RR0tunittestRuR+tjosepyRRRRRtload_comparable_certR)tJWKRSAtloadtload_vectorRGtTestCaseRRR:RBRqRtmain(((s3/usr/lib/python2.7/site-packages/josepy/jws_test.pyt<module>s(0d$