
    U-fM                        d Z ddlZddlZddlmZ ddlZddlmZ ddlZddlZ	ddl
Z
ddlmZ ddlmZ  ej        d          Z ej        d          Z ej        d	          Z G d
 dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z G d dej                  Z  G d  d!ej                  Z! G d" d#ej                  Z" G d$ d%ej                  Z# G d& d'ej                  Z$ G d( d)ej                  Z% G d* d+ej                  Z&e'd,k    r1 ej(         e
j)        ej*        d-d         e+gz                        dS dS ).zTests for acme.messages.    N)Dict)mock)
challenges)	test_utilzcert.derzcsr.derzrsa512_key.pemc                   Z    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d ZdS )	ErrorTestzTests for acme.messages.Error.c                    ddl m} ddl m} ddl m} ddl m} |                    ddd	          | _        dd
|dz   d| _         |dd          | _         ||d          | _	        |                    ddd| j	                  | _
        |                    ddd| j
        g          | _         |            | _        d S )Nr   Error)ERROR_PREFIX
IdentifierIDENTIFIER_FQDN	malformedfootitledetailr   z
some title)r   r   typecustombar)typr   example.comr   valuecaa)r   r   
identifier)r   r   subproblems)acme.messagesr   r   r   r   	with_codeerrorjobjerror_customr   
subproblemerror_with_subproblemsempty_error)selfr   r   r   r   s        q/home/cdr/domains/dharristours.com/map/certbot/lib/python3.11/site-packages/acme/_internal/tests/messages_test.pysetUpzErrorTest.setUp   s   ''''''......,,,,,,111111__[g_NN
! ;.
 
	
 "Ehu===$*NNN//%WY]Yh/ii&+ook%W^mqm|l}o&~&~# 577    c                 <    ddl m}  |            j        dk    sJ d S )Nr   r
   zabout:blank)r    r   r   r(   r   s     r)   test_default_typzErrorTest.test_default_typ(   s3    ''''''uww{m++++++r+   c                 X    ddl m}  |            |                    d          k    sJ d S )Nr   r
   {})r    r   	from_jsonr-   s     r)   test_from_json_emptyzErrorTest.test_from_json_empty,   s=    ''''''uww%//$////////r+   c                     ddl m} t          |                    | j                                                             d S )Nr   r
   )r    r   hashr1   r"   to_jsonr-   s     r)   test_from_json_hashablez!ErrorTest.test_from_json_hashable0   sB    ''''''U__TZ//112233333r+   c                     ddl m} |                    | j                                                  }dt          |j                  k    sJ | j        |j        d         k    sJ d S )Nr   r
      )r    r   r1   r&   r5   lenr   r%   )r(   r   parsed_errors      r)   test_from_json_with_subproblemsz)ErrorTest.test_from_json_with_subproblems4   sq    ''''''t'B'J'J'L'LMMC0111111,":1"=======r+   c                 F    d| j         j        k    sJ | j        j        J d S )Nz!The request message was malformed)r"   descriptionr$   r(   s    r)   test_descriptionzErrorTest.test_description<   s0    2dj6LLLLL ,44444r+   c                 t    ddl m} d| j        j        k    sJ | j        j        J  |            j        J d S )Nr   r
   r   )r    r   r"   coder$   r-   s     r)   	test_codezErrorTest.test_code@   sU    ''''''djo---- %---uww|#####r+   c                     ddl m} ddl m}  || j                  sJ  || j                  rJ  | |                      rJ  || j                  rJ  |d          rJ d S )Nr   r
   is_acme_errorzmust pet all the {dogs|rabbits})r    r   rE   r"   r$   r'   r(   r   rE   s      r)   test_is_acme_errorzErrorTest.test_is_acme_errorF   s    ''''''//////}TZ((((( =!233333 =))))) =!122222 =!BCCCCCCCr+   c                 h    ddl m} ddl m} |                    ddd          } ||          sJ d S )Nr   r
   rD   r   u
   عدالةr   r   )r    r   rE   r!   )r(   r   rE   arabic_errors       r)   test_unicode_errorzErrorTest.test_unicode_errorO   sd    ''''''////// A ' R R}\*******r+   c                     ddl m} ddl m}  ||                    d                    sJ t	          j        t                    5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r
   rD   badCSRznot an ACME error code)r    r   rE   r!   pytestraises
ValueErrorrF   s      r)   test_with_codezErrorTest.test_with_codeV   s    ''''''//////}U__X6677777]:&& 	6 	6OO4555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   A))A-0A-c                     t          | j                  d                    | j                  k    sJ t          | j                  d                    | j        | j                  k    sJ d S )Nz5{0.typ} :: {0.description} :: {0.detail} :: {0.title}z{0.typ} :: {0.description} :: {0.detail} :: {0.title}
Problem for {1.identifier.value}: {1.typ} :: {1.description} :: {1.detail} :: {1.title})strr"   formatr&   r%   r>   s    r)   test_strzErrorTest.test_str]   s    4:DVDJ        4.//ghnhn#T_i6 i66 6 6 6 6 6r+   c                     | j         j        J 	 ddz   n(# t          $ r}|j        | j         _        Y d }~nd }~ww xY w| j         j        J d S )Nr8   r   )r$   __traceback__ZeroDivisionError)r(   es     r)   test_setting_tracebackz ErrorTest.test_setting_tracebackh   sy     .666	>aCCC  	> 	> 	>./oD++++++	>  .:::::s    
;6;N)__name__
__module____qualname____doc__r*   r.   r2   r6   r;   r?   rB   rG   rJ   rP   rT   rY    r+   r)   r   r      s        ((# # #", , ,0 0 04 4 4> > >5 5 5$ $ $D D D+ + +6 6 66 6 6; ; ; ; ;r+   r   c                   6    e Zd ZdZd Zd Zd Zd Zd Zd Z	dS )	ConstantTestz"Tests for acme.messages._Constant.c                 |    ddl m}  G d d|          }|| _         |d          | _         |d          | _        d S )Nr   )	_Constantc                       e Zd ZU i Zeed<   dS )(ConstantTest.setUp.<locals>.MockConstantPOSSIBLE_NAMESN)rZ   r[   r\   re   r   __annotations__r^   r+   r)   MockConstantrd   y   s"         #%ND%%%%%r+   rg   ab)r    rb   rg   const_aconst_b)r(   rb   rg   s      r)   r*   zConstantTest.setUpv   sn    ++++++	& 	& 	& 	& 	&9 	& 	& 	& )#|C((#|C((r+   c                     d| j                                         k    sJ d| j                                        k    sJ d S )Nrh   ri   )rj   to_partial_jsonrk   r>   s    r)   test_to_partial_jsonz!ConstantTest.test_to_partial_json   sF    dl22444444dl2244444444r+   c                     | j         | j                            d          k    sJ t          j        t
          j                  5  | j                            d           d d d            d S # 1 swxY w Y   d S )Nrh   c)rj   rg   r1   rM   rN   joseDeserializationErrorr>   s    r)   test_from_jsonzConstantTest.test_from_json   s    |t0::3??????]4455 	- 	-'',,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   A,,A03A0c                 T    t          | j                            d                     d S Nrh   )r4   rg   r1   r>   s    r)   r6   z$ConstantTest.test_from_json_hashable   s'    T((--.....r+   c                 n    dt          | j                  k    sJ dt          | j                  k    sJ d S )NzMockConstant(a)zMockConstant(b))reprrj   rk   r>   s    r)   	test_reprzConstantTest.test_repr   s>     D$6$66666 D$6$6666666r+   c                     |                      d          }| j        | j        k    sJ | j        |k    sJ | j        | j        k    sJ | j        |k    sJ d S ru   )rg   rj   rk   )r(   const_a_primes     r)   test_equalityzConstantTest.test_equality   sk    ))#..|t|++++|},,,,|t|++++|},,,,,,r+   N)
rZ   r[   r\   r]   r*   rn   rs   r6   rx   r{   r^   r+   r)   r`   r`   s   st        ,,) ) )5 5 5- - -
/ / /7 7 7- - - - -r+   r`   c                   H    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S )DirectoryTestz"Tests for acme.messages.Directory.c           	      h    ddl m}  |dd|                    dddg          d	          | _        d S )
Nr   	Directoryregcerthttps://example.com/acme/termshttps://www.example.com/r   )terms_of_servicewebsitecaa_identitiesnewRegnewCertmeta)r    r   Metadirr(   r   s     r)   r*   zDirectoryTest.setUp   s\    ++++++9NN!A2 - #  
 
  r+   c                 ,    ddl m}  |ddi           d S Nr   r   r   r   )r    r   r   s     r)   !test_init_wrong_key_value_successz/DirectoryTest.test_init_wrong_key_value_success   s.    ++++++	5%.!!!!!r+   c                 ,    d| j         d         k    sJ d S )Nr   r   )r   r>   s    r)   test_getitemzDirectoryTest.test_getitem   s     *******r+   c                     t          j        t                    5  | j                            d           d d d            d S # 1 swxY w Y   d S Nr   )rM   rN   KeyErrorr   __getitem__r>   s    r)   !test_getitem_fails_with_key_errorz/DirectoryTest.test_getitem_fails_with_key_error   s    ]8$$ 	( 	(H  '''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(   AA	Ac                 *    d| j         j        k    sJ d S )Nr   )r   r   r>   s    r)   test_getattrzDirectoryTest.test_getattr   s    ''''''r+   c                     t          j        t                    5  | j                            d           d d d            d S # 1 swxY w Y   d S r   )rM   rN   AttributeErrorr   __getattr__r>   s    r)   'test_getattr_fails_with_attribute_errorz5DirectoryTest.test_getattr_fails_with_attribute_error   s    ]>** 	( 	(H  '''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(r   c                 V    | j                                         dddddgddk    sJ d S )Nr   r   r   r   r   )termsOfServicer   caaIdentitiesr   )r   r5   r>   s    r)   test_to_jsonzDirectoryTest.test_to_json   sV    x!!"B5"/ &
 &
 
 
 
 
 
 
r+   c                 @    ddl m} |                    ddi           d S r   )r    r   r1   r   s     r)   2test_from_json_deserialization_unknown_key_successz@DirectoryTest.test_from_json_deserialization_unknown_key_success   s2    ++++++UEN+++++r+   c                 h    d}| j         j        D ]}|dk    r| j         j        |         dk    }|sJ d S )NFr   r   )r   r   )r(   resultks      r)   test_iter_metazDirectoryTest.test_iter_meta   sJ     	N 	NA&&&q)-MMr+   N)rZ   r[   r\   r]   r*   r   r   r   r   r   r   r   r   r^   r+   r)   r}   r}      s        ,,
 
 
" " "+ + +( ( (( ( (( ( (	
 	
 	
, , ,    r+   r}   c                       e Zd Zd Zd ZdS )ExternalAccountBindingTestc                     ddl m} t          j                            t
                                                    | _        d| _        d| _	         |ddi          | _
        d S )Nr   r   keykid-for-testinghmac-key-for-testing
newAccounthttp://url/acme/new-account)r    r   rq   jwkJWKRSAKEY
public_keyr   kidhmac_keyr   r   s     r)   r*   z ExternalAccountBindingTest.setUp   se    ++++++8??s~~'7'7?88$.97
  r+   c                     ddl m} |                    | j        | j        | j        | j                  }t          |          dk    sJ t          |	                                          t          g d          k    sJ d S )Nr   ExternalAccountBinding   	protectedpayload	signature)
r    r   	from_datar   r   r   r   r9   sortedkeys)r(   r   eabs      r)   test_from_dataz)ExternalAccountBindingTest.test_from_data   s    888888$..tx4=RVRZ[[3xx1}}}}chhjj!!V,Q,Q,Q%R%RRRRRRRr+   N)rZ   r[   r\   r*   r   r^   r+   r)   r   r      s7          S S S S Sr+   r   c                   H    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S )RegistrationTestz%Tests for acme.messages.Registration.c                 V   t           j                            t                                                    }d}d}ddlm}  ||||          | _         |            | _        |||d| _	        | j	        
                                | _        |                                | j        d<   d S )	Nr   )mailto:admin@foo.comtel:1234zhttps://letsencrypt.org/termsr   Registration)r   contact	agreement)r   r   r   r   )rq   r   r   r   r   r    r   r   reg_nonejobj_tocopy	jobj_fromr5   )r(   r   r   r   r   s        r)   r*   zRegistrationTest.setUp   s    hoo#.."2"2o33
 4	......<CINNN$ "
 

 **,, #ur+   c                 Z    ddl m} |                    dd          }|j        dk    sJ d S )Nr   r   1234admin@foo.com)phoneemail)r   r   )r    r   r   r   )r(   r   r   s      r)   r   zRegistrationTest.test_from_data   sT    ......$$6$II{ 
 
 
 
 
 
 
r+   c                    ddl m} ddl m} ddl m} t          j                            t                                                    }d}d} |dd	i          }|	                    ||||          }|	                    d
|          }	|	j
        dk    sJ t          |	j                                                  t          g d          k    sJ d S )Nr   r   r   NewRegistrationr   r   r   r   r   r   )r   external_account_binding)r   r   )r    r   r   r   rq   r   r   r   r   r   r   r   r   r   )
r(   r   r   r   r   r   r   	directoryr   r   s
             r)   (test_new_registration_from_data_with_eabz9RegistrationTest.test_new_registration_from_data_with_eab  s!   ++++++888888111111hoo#.."2"2o33)I7
  	 %..sC9MM''oX['\\{ 
 
 
 
 
 c27799:: E E EFFG G G G G Gr+   c                 *    d| j         j        k    sJ d S )N)r   )r   phonesr>   s    r)   test_phoneszRegistrationTest.test_phones  s    DHO++++++r+   c                 *    d| j         j        k    sJ d S )N)r   )r   emailsr>   s    r)   test_emailszRegistrationTest.test_emails  s    !TX_444444r+   c                 N    | j         | j                                        k    sJ d S N)r   r   rm   r>   s    r)   rn   z%RegistrationTest.test_to_partial_json  s)    |tx7799999999r+   c                 \    ddl m} | j        |                    | j                  k    sJ d S Nr   r   )r    r   r   r1   r   r(   r   s     r)   rs   zRegistrationTest.test_from_json  s=    ......x<11$.AAAAAAAAr+   c                 `    ddl m} t          |                    | j                             d S r   )r    r   r4   r1   r   r   s     r)   r6   z(RegistrationTest.test_from_json_hashable!  s8    ......\##DN3344444r+   c                 2   ddl m}  |            } |d          }|j        dk    sJ |j        dk    sJ d|                                vsJ d|                                vsJ d|                                v sJ d|                                v sJ d S )Nr   r   r^   )r   r   )r    r   r   rm   fields_to_partial_json)r(   r   empty_new_regnew_reg_with_contacts       r)   test_default_not_transmittedz-RegistrationTest.test_default_not_transmitted%  s    111111')).r:::$****#+r1111 = = ? ????? D D F FFFFF0@@BBBBBB0GGIIIIIIIIr+   N)rZ   r[   r\   r]   r*   r   r   r   r   rn   rs   r6   r   r^   r+   r)   r   r      s        //. . .(
 
 
G G G$, , ,5 5 5: : :B B B5 5 5J J J J Jr+   r   c                       e Zd ZdZd ZdS )UpdateRegistrationTestz+Tests for acme.messages.UpdateRegistration.c                     ddl m} d}d |                                            k    sJ  |            |                    |          k    sJ d S )Nr   )UpdateRegistrationz{"resource": "reg"}r0   )r    r   
json_dumps
json_loads)r(   r   jstrings      r)   
test_emptyz!UpdateRegistrationTest.test_empty6  so    444444'))++66888888!!##'9'D'DW'M'MMMMMMMr+   N)rZ   r[   r\   r]   r   r^   r+   r)   r   r   3  s.        55N N N N Nr+   r   c                       e Zd ZdZd Zd ZdS )RegistrationResourceTestz-Tests for acme.messages.RegistrationResource.c                     ddl m}  |t          j        j        t          j        j        t          j        j                  | _        d S )Nr   )RegistrationResourcebodyurir   )r    r   r   sentinelr   r   r   regr)r(   r   s     r)   r*   zRegistrationResourceTest.setUp@  sH    666666((#):!];= = =			r+   c                     | j                                         t          j        j        t          j        j        t          j        j        dk    sJ d S )Nr   )r   r5   r   r   r   r   r   r>   s    r)   rn   z-RegistrationResourceTest.test_to_partial_jsonF  sS    y  ""M&=$ $ >'
 '
 
 
 
 
 
 
r+   NrZ   r[   r\   r]   r*   rn   r^   r+   r)   r   r   =  s8        77= = =
 
 
 
 
r+   r   c                       e Zd ZdZd ZdS )ChallengeResourceTestz*Tests for acme.messages.ChallengeResource.c                 h    ddl m} d |t          j        d          d          j        k    sJ d S )Nr   )ChallengeResourcehttp://challbr   zhttp://authz)r   
authzr_uri)r    r  r   	MagicMockr   )r(   r  s     r)   test_urizChallengeResourceTest.test_uriQ  sl    333333"3"3:! :! :!-;#= #= #==@A A A A A Ar+   N)rZ   r[   r\   r]   r
  r^   r+   r)   r  r  N  s.        44A A A A Ar+   r  c                   6    e Zd ZdZd Zd Zd Zd Zd Zd Z	dS )	ChallengeBodyTestz&Tests for acme.messages.ChallengeBody.c                    t          j        t          j        d                    | _        ddlm} ddlm} ddlm} || _	        |
                    dd	          } |d
| j        | j	        |          | _        d
| j	        dd|d| _        | j                                        | _        d| j        d<   ddd| j        d<   d S )N+evaGxfADs6pSRb2LAv9IZf17Dt3juxGJ-PCt92wr-oAtokenr   ChallengeBodyr
   )STATUS_INVALIDserverInternalz%Unable to communicate with DNS server)r   r  )r   challstatusr"   dns)urlr  r   r  r"   invalidr  z)urn:ietf:params:acme:error:serverInternal)r   r   r"   )r   DNSrq   	b64decoder  r    r  r   r  r  r!   challbr   r   r   )r(   r  r   r  r"   s        r)   r*   zChallengeBodyTest.setUpZ  s
   ^$.9+; +; < < <
 	0/////''''''000000$ 09`aa#mtz$+  
 #kB
 
 **,,#,x ?=#
 #
wr+   c                 Z    | j                             d          | j         j        k    sJ d S )Nr   )r  encoder   r>   s    r)   test_encodezChallengeBodyTest.test_encodeu  s-    {!!%((DKO;;;;;;r+   c                 N    | j         | j                                        k    sJ d S r   )r   r  rm   r>   s    r)   rn   z&ChallengeBodyTest.test_to_partial_jsonx  s)    |t{::<<<<<<<<r+   c                 \    ddl m} | j        |                    | j                  k    sJ d S Nr   r  )r    r  r  r1   r   r(   r  s     r)   rs   z ChallengeBodyTest.test_from_json{  s=    //////{m55dnEEEEEEEEr+   c                 `    ddl m} t          |                    | j                             d S r"  )r    r  r4   r1   r   r#  s     r)   r6   z)ChallengeBodyTest.test_from_json_hashable  8    //////]$$T^4455555r+   c                 N    t          j        d          | j        j        k    sJ d S )Nr  )rq   r  r  r  r>   s    r)   
test_proxyzChallengeBodyTest.test_proxy  s@    ~9; ;>Bk>OP P P P P Pr+   N)
rZ   r[   r\   r]   r*   r  rn   rs   r6   r'  r^   r+   r)   r  r  W  s|        00
 
 
6< < <= = =F F F6 6 6P P P P Pr+   r  c                   $    e Zd ZdZd Zd Zd ZdS )AuthorizationTestz&Tests for acme.messages.Authorization.c                 n   ddl m} ddl m}  |d|t          j        d                     |d|t          j        d	                    f| _        dd
l m} ddl m} ddl m	}  ||d          } ||| j                  | _
        |                                d | j        D             d| _        d S )Nr   r  )STATUS_VALIDhttp://challb1   IlirfxKKXAsHtmzK29Pj8Ar  r   r  r  http://challb2   DGyRejmCefe7v4NfDGDKfAAuthorizationr   r   r   r   r   r   c                 6    g | ]}|                                 S r^   )r5   .0r  s     r)   
<listcomp>z+AuthorizationTest.setUp.<locals>.<listcomp>  s"    GGG6>>++GGGr+   )r    r  r+  r   HTTP01r  challbsr2  r   r   authzr5   r   )r(   r  r+  r2  r   r   r   s          r)   r*   zAuthorizationTest.setUp  s5   //////...... M$\ '.GHHHJ J J M.| *$=!? !? !?@ @ @	
 	0/////,,,,,,111111ZO=III
"]!dl< < <
 %,,..GG$,GGG
 
r+   c                 F    ddl m} |                    | j                   d S Nr   r1  )r    r2  r1   r   r(   r2  s     r)   rs   z AuthorizationTest.test_from_json  s0    ///////////r+   c                 `    ddl m} t          |                    | j                             d S r<  )r    r2  r4   r1   r   r=  s     r)   r6   z)AuthorizationTest.test_from_json_hashable  r%  r+   N)rZ   r[   r\   r]   r*   rs   r6   r^   r+   r)   r)  r)    sG        00
 
 
20 0 06 6 6 6 6r+   r)  c                       e Zd ZdZd ZdS )AuthorizationResourceTestz.Tests for acme.messages.AuthorizationResource.c                     ddl m}  |t          j        j        t          j        j                  }t          |t          j                  sJ d S )Nr   AuthorizationResourcer   r   )	r    rC  r   r   r   r   
isinstancerq   JSONDeSerializable)r(   rC  authzrs      r)   test_json_de_serializablez3AuthorizationResourceTest.test_json_de_serializable  s\    777777&&!#% % % &$"9:::::::r+   N)rZ   r[   r\   r]   rH  r^   r+   r)   r@  r@    s)        88; ; ; ; ;r+   r@  c                       e Zd ZdZd Zd ZdS )CertificateRequestTestz+Tests for acme.messages.CertificateRequest.c                 >    ddl m}  |t                    | _        d S )Nr   CertificateRequest)csr)r    rM  CSRreqr(   rM  s     r)   r*   zCertificateRequestTest.setUp  s-    444444%%#...r+   c                     t          | j        t          j                  sJ ddlm} | j        |                    | j                                                  k    sJ d S )Nr   rL  )rE  rP  rq   rF  r    rM  r1   r5   rQ  s     r)   rH  z0CertificateRequestTest.test_json_de_serializable  se    $(D$;<<<<<444444x-778H8H8J8JKKKKKKKKr+   NrZ   r[   r\   r]   r*   rH  r^   r+   r)   rJ  rJ    s=        55/ / /L L L L Lr+   rJ  c                       e Zd ZdZd Zd ZdS )CertificateResourceTestz0Tests for acme.messages.CertificateResourceTest.c                     ddl m}  |t          t          j        j        dt          j        j                  | _        d S )Nr   CertificateResourcer^   )r   r   authzrscert_chain_uri)r    rX  CERTr   r   r   rZ  certrr(   rX  s     r)   r*   zCertificateResourceTest.setUp  sE    555555((4=,b=79 9 9


r+   c                     t          | j        t          j                  sJ ddlm} | j        |                    | j                                                  k    sJ d S )Nr   rW  )rE  r\  rq   rF  r    rX  r1   r5   r]  s     r)   rH  z1CertificateResourceTest.test_json_de_serializable  se    $*d&=>>>>>555555z0::4:;M;M;O;OPPPPPPPPr+   NrS  r^   r+   r)   rU  rU    s=        ::9 9 9Q Q Q Q Qr+   rU  c                       e Zd ZdZd Zd ZdS )RevocationTestz'Tests for acme.messages.RevocationTest.c                 >    ddl m}  |t                    | _        d S )Nr   
Revocation)certificate)r    rc  r[  revr(   rc  s     r)   r*   zRevocationTest.setUp  s,    ,,,,,,:$///r+   c                     ddl m} t          |                    | j                                                             d S )Nr   rb  )r    rc  r4   r1   re  r5   rf  s     r)   r6   z&RevocationTest.test_from_json_hashable  sD    ,,,,,,Z!!$("2"2"4"45566666r+   N)rZ   r[   r\   r]   r*   r6   r^   r+   r)   r`  r`    s8        110 0 07 7 7 7 7r+   r`  c                   $    e Zd ZdZd Zd Zd ZdS )OrderResourceTestz&Tests for acme.messages.OrderResource.c                 r    ddl m}  |t          j        j        t          j        j                  | _        d S )Nr   OrderResource)r   r   )r    rl  r   r   r   r   r   )r(   rl  s     r)   r*   zOrderResourceTest.setUp  s?    //////!M#):< < <			r+   c                     | j                                         t          j        j        t          j        j        d dk    sJ d S )N)r   r   authorizations)r   r5   r   r   r   r   r>   s    r)   rn   z&OrderResourceTest.test_to_partial_json  sN    y  ""M&=$"'
 '
 
 
 
 
 
 
r+   c                    ddl m} ddl m}  |d|t          j        d                     |d|t          j        d	                    f}dd
l m} ddl m} ddl m} ddl m	}  ||d          } |d |||                    }	ddl m
}
  |
|f|t          d |D                                 }ddl m}  |d|d|	f          }|                     ||                    |                                                     d S )Nr   r  )STATUS_PENDINGr,  r-  r  r.  r/  r0  r1  rB  r   r   r   r   zhttp://authz1r3  rD  )Orderc              3   $   K   | ]}|j         V  d S r   r  r5  s     r)   	<genexpr>z>OrderResourceTest.test_json_de_serializable.<locals>.<genexpr>  s$      )K)K&*)K)K)K)K)K)Kr+   )identifiersr  rn  rk  zhttp://order1s	   test blob)r   r   csr_pemrn  )r    r  rp  r   r8  r  r2  rC  r   r   rq  tuplerl  assertEqualr1   r5   )r(   r  rp  r9  r2  rC  r   r   r   r:  rq  r   rl  orderrs                 r)   rH  z+OrderResourceTest.test_json_de_serializable  s   //////000000M$^ '.GHHHJ J J M.~ *$=!? !? !?@ @ @	
 	0/////777777,,,,,,111111ZO=III
%%/+8=5?5<,> ,> ,>? ? ? 	('''''u*~$))K)K7)K)K)K$K$KM M M//////?'3/4h8 8 8 	&001A1ABB	D 	D 	D 	D 	Dr+   N)rZ   r[   r\   r]   r*   rn   rH  r^   r+   r)   ri  ri    sL        00< < <

 
 
D D D D Dr+   ri  c                       e Zd ZdZd Zd ZdS )NewOrderTestz!Tests for acme.messages.NewOrder.c                 R    ddl m}  |t          j        j                  | _        d S )Nr   )NewOrder)rt  )r    r|  r   r   rt  r   )r(   r|  s     r)   r*   zNewOrderTest.setUp  s8    ******813 3 3r+   c                 f    | j                                         dt          j        j        ik    sJ d S )Nrt  )r   r5   r   r   rt  r>   s    r)   rn   z!NewOrderTest.test_to_partial_json  s@    x!!4=4&
 
 
 
 
 
 
r+   Nr  r^   r+   r)   rz  rz    s8        ++3 3 3

 
 
 
 
r+   rz  c                       e Zd ZdZd ZdS )JWSPayloadRFC8555CompliantzFTest for RFC8555 compliance of JWS generated from resources/challengesc                     ddl m}  |            }|                    d                                          }|dk    sJ d S )Nr   )NewAuthorization   )indents   {})r    r  r   r  )r(   r  	new_orderr#   s       r)   test_message_payloadz/JWSPayloadRFC8555Compliant.test_message_payload  sU    222222$$&&	##1#--4466u}}}}}}r+   N)rZ   r[   r\   r]   r  r^   r+   r)   r  r    s)        PP    r+   r  __main__r8   ),r]   
contextlibsystypingr   unittestr   warningsjosepyrq   rM   acmer   acme._internal.testsr   load_comparable_certr[  load_comparable_csrrO  load_rsa_private_keyr   TestCaser   r`   r}   r   r   r   r   r  r  r)  r@  rJ  rU  r`  ri  rz  r  rZ   exitmainargv__file__r^   r+   r)   <module>r     sd         



                          * * * * * *%y%j11#i#I..$i$%566\; \; \; \; \;! \; \; \;~#- #- #- #- #-8$ #- #- #-L5 5 5 5 5H% 5 5 5pS S S S S!2 S S S$MJ MJ MJ MJ MJx( MJ MJ MJ`N N N N NX. N N N
 
 
 
 
x0 
 
 
"A A A A AH- A A A.P .P .P .P .P) .P .P .Pb"6 "6 "6 "6 "6) "6 "6 "6J; ; ; ; ; 1 ; ; ;
L 
L 
L 
L 
LX. 
L 
L 
LQ Q Q Q Qh/ Q Q Q	7 	7 	7 	7 	7X& 	7 	7 	7,D ,D ,D ,D ,D) ,D ,D ,D\
 
 
 
 
8$ 
 
 
	 	 	 	 	!2 	 	 	 zCH[V[!""
23344444 r+   