a ‚oeã@sdZddlZddlZddlZddlmZddlZddlZddlZddlZddl m Z ddl m Z ddl m Z ddlmmZej e d¡¡ZGdd „d ejƒZGd d „d eƒZGd d „d eƒZGdd„dejƒZedkrüe e ejdd…e g¡¡dS)z Tests for certbot._internal.eff.éN)Úmock)Úmessages)Úaccount)Ú constantszrsa512_key.pemcs eZdZdZ‡fdd„Z‡ZS)ÚSubscriptionTestz&Abstract class for subscription tests.csbtƒ ¡tjtjdt ¡dd�ttjjdt j ddddddt j d �d �d �|_d |j _ d|j _dS) NÚhi)ZuriÚbodyZnew_authzr_uriztest.certbot.orgißéééé )Ztzinfo)Z creation_hostZ creation_dt)ZregrÚkeyÚmetaúcertbot@example.org)ÚsuperÚsetUprZAccountrZRegistrationResourceZ RegistrationÚ_KEYZMetaÚdatetimeÚpytzZUTCÚconfigÚemailÚ eff_email©Úself©Ú __class__©úAC:\Program Files\Certbot\pkgs\certbot\_internal\tests\eff_test.pyrs  þÿþû zSubscriptionTest.setUp)Ú__name__Ú __module__Ú __qualname__Ú__doc__rÚ __classcell__rrrrrsrc@s‚eZdZdZdd„Ze ¡e d¡dd„ƒƒZ e ¡dd„ƒZ e ¡d d „ƒZ e ¡d d „ƒZ e ¡d d„ƒZ dd„Zdd„ZdS)ÚPrepareSubscriptionTestz5Tests for certbot._internal.eff.prepare_subscription.cCsddlm}||j|jƒdS)Nr)Úprepare_subscription)Úcertbot._internal.effr$rr)rr$rrrÚ_call's zPrepareSubscriptionTest._callú)certbot._internal.eff.display_util.notifycCsLd|j_d|j_| ¡|jdd}d}||vs6J‚|jjjdusHJ‚dS)NTrz,because you didn't provide an e-mail address)rrrr&Ú call_argsrrÚregister_to_eff)rÚ mock_notifyÚmock_get_utilityÚactualÚ expected_partrrrÚ test_failure+s z$PrepareSubscriptionTest.test_failurecCs0d|j_| ¡| |¡|jjjdus,J‚dS©NF)rrr&Ú_assert_no_get_utility_callsrrr)©rr+rrrÚ&test_will_not_subscribe_with_no_prompt6s z>PrepareSubscriptionTest.test_will_not_subscribe_with_no_promptcCs4d|j_| ¡| |¡|jjj|jjks0J‚dS©NT)rrr&r0rrr)rr1rrrÚ"test_will_subscribe_with_no_prompt=s z:PrepareSubscriptionTest.test_will_subscribe_with_no_promptcCs@d|ƒj_| ¡|ƒjjr J‚| |¡|jjjdusrTrrrrQ‡s    zSubscribeTest._check_post_callcCs.d|jd<| ¡| ¡}d}||vs*J‚dS)NFrJz2because your e-mail address appears to be invalid.)rLr&Ú_get_reported_message©rr,r-rrrÚtest_bad_status�s  zSubscribeTest.test_bad_statuscCs:d|j_tjj|jj_| ¡| ¡}d}||vs6J‚dS)NFZbecause) rMrKÚrequestsÚ exceptionsZ HTTPErrorZraise_for_statusÚ side_effectr&rU)rr,Zunexpected_partrrrÚ test_not_ok—s zSubscribeTest.test_not_okcCs0tƒ|jj_| ¡| ¡}d}||vs,J‚dS©NZproblem)Ú ValueErrorrMrLrZr&rUrVrrrÚtest_response_not_jsonŸs  z$SubscribeTest.test_response_not_jsoncCs.|j ¡| ¡| ¡}d}||vs*J‚dSr\)rLÚclearr&rUrVrrrÚ)test_response_json_missing_status_element¦s  z7SubscribeTest.test_response_json_missing_status_elementcCs|jjs J‚|jjddS)Nr)r*r8r(rrrrrU­s z#SubscribeTest._get_reported_messagecCs| ¡|jdusJ‚dSr/rDr1rrrrH±szSubscribeTest.test_subscribeN)rrr r!rrrAr&rQrWr[r^r`rUr?r@rHrrrrrIts   rIÚ__main__rS)!r!rÚsysZunittestrZjosepyZpytestrrXZacmerZcertbot._internalrrZcertbot.tests.utilZtestsÚutilr?ZJWKRSAÚloadZ load_vectorrZConfigTestCaserr#rBZTestCaserIrÚexitÚmainÚargvÚ__file__rrrrÚs&    <C