ó 5b]]c@sddlZddlmZddlZddlmZmZddlZiidd6dd6dd 6d d 6d d 6d6idd6dd6dd 6d d 6dd6d d 6d6idd6dd6dd 6d d 6dd6d d 6d6Zde fd„ƒYZ dej fd„ƒYZ dS(iÿÿÿÿN(tsupport(tpatchtMocktCreatet RequestTypes test-event-idt RequestIdsarn/test-stack-id/guidtStackIdtTestResourceIdtLogicalResourceIdt response_urlt ResponseURLtUpdates test-stack-idstest-pidtPhysicalResourceIdtDeletet MockContextcBs#eZdZdZed„ƒZRS(s test-functioni(#cCstjS(N(Rt ms_remaining(((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pytget_remaining_time_in_millis's(t__name__t __module__t function_nameRt staticmethodR(((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyR"stTestCfnResourcec BsÀeZedddƒedeƒƒd„ƒƒZedddƒedeƒƒd„ƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒedeƒƒed eƒƒed ddƒd „ƒƒƒƒƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒed eƒƒed eddƒƒd „ƒƒƒƒƒƒƒZ edeƒƒededeƒƒedeƒƒedeƒƒedeƒƒed eƒƒed eƒƒd „ƒƒƒƒƒƒƒZ edeƒƒededeƒƒedeƒƒedeƒƒedeƒƒed eƒƒd„ƒƒƒƒƒƒZ edeƒƒededeƒƒedeƒƒedeƒƒedeƒƒd„ƒƒƒƒƒZ edeƒƒededeƒƒedeƒƒedeƒƒd„ƒƒƒƒZ edeƒƒededeƒƒedeƒƒedddƒedeƒƒd„ƒƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒd„ƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒd„ƒƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒd„ƒƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒd„ƒƒƒƒƒZedeƒƒededeƒƒedeƒƒedeƒƒedeƒƒd„ƒƒƒƒƒZRS(scrhelper.log_helper.setupt return_values1crhelper.resource_helper.CfnResource._set_timeoutcCs tjƒ$}|jddƒtjjƒWdQX|jdddddƒtjƒ*}|jddƒtjjdtƒWdQX|j ddddd ƒdS( Nt AWS_REGIONs us-east-1tDEBUGt boto_leveltERRORt formatter_clst json_loggingRt ContainerInit( RtEnvironmentVarGuardtsettcrhelpertresource_helpert CfnResourcetassert_called_once_withtNonetTruetassert_called_with(tselft mock_methodtenviron((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyt test_init.scCs8tdƒ|_tjjdtƒ}|j|jƒdS(NttestR(t Exceptiont side_effectR R!R"R%t assertTruet _init_failed(R'R(tc((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_init_failure;ss2crhelper.resource_helper.CfnResource._poll_enableds2crhelper.resource_helper.CfnResource._polling_inits5crhelper.resource_helper.CfnResource._wait_for_cwlogss*crhelper.resource_helper.CfnResource._sends3crhelper.resource_helper.CfnResource._wrap_functions2crhelper.resource_helper.CfnResource._cfn_responsecCsrtjjƒ}td}|j|tƒ|j|jƒ|j|ƒt |_ t dt ƒ|_ t ƒ|_ |j|tƒ|j jƒ|jdt|jƒƒt|_ t|_|j|tƒ|j jƒ|jdt|jƒƒtd}t ƒ|_t dtƒ|_ |j|tƒ|jjƒt ƒ|_tdƒ|_|j|tƒ|jjddƒdS(NRRiR R+tFAILED(R R!R"t test_eventst__call__RR.t_send_responseR#R%t _sam_localRt _poll_enabledt _polling_inittassert_not_calledt assertEqualtlentcall_args_listtFalset assert_calledt_wait_for_cwlogst_sendR,R-R&(R'tcfn_response_mockR0tevent((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyt test_callBs2             cCsbtjjƒ}t|_tƒ}|jd|ƒ|jƒdt_|jd|ƒ|j ƒdS(Ntsleepià"( R R!R"Rt_contextRR?R9Rtassert_called_once(R'R0ts((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_wait_for_cwlogsis     cCsYtjjƒ}td}tƒ|_tƒ|_|j|ƒ|jjƒ|jj ƒ|j |j dƒd|_ |jjƒ|jjƒtjjƒ}td}tƒ|_tƒ|_d|d(R'R0RB((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_polling_init{s8                        cCs`tjjƒ}td}tƒ|_|j}|j|dƒ|j|ƒ|jj ƒd|jgGH|jt |jj dƒƒtƒ|_d|_|j|ƒ|jj ƒ|jd|jƒtƒ|_t |_|j|ƒ|jj ƒ|jt |jj dƒƒtƒ|_d|_d|d<|j|ƒ|jj ƒ|jd|jƒdS(NRRJs RID: [%s]stest-stack-id_TestResourceId_ttestpidspid-from-eventR ( R R!R"R3RR@R R:t _cfn_responseRFR%t startswith(R'R0RBtorig_pid((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_cfn_response¤s2                  cCs‹tjjƒ}d„}|j|ƒ|jd|jƒ|jd|jƒd„}|j|ƒ|jd|jƒ|jd|jƒdS(NcSsdS(NRO((teR0((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pytfuncÑsROR2cSstdƒ‚dS(Nstest exception(R,(RTR0((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyRUØsstest exception( R R!R"t_wrap_functionR:R tassertNotEqualRMtReason(R'R0RU((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_wrap_functionÉs    cCs6tjjƒ}tƒ}|jd|ƒ|jƒdS(Nt send_response(R R!R"RR@RF(R'R0RG((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyt test_sendßs cCs-tjjƒ}|jƒ|jddƒdS(NR2sExecution timed out(R R!R"t_timeoutR&(R'RGR0((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyt test_timeoutés cCsztjjƒ}tƒ|_d„}|jƒtjd|ƒ}|jt |ƒt |j ƒƒ|j ƒ|j j ƒdS(NcSsdS(N(R$(((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyRUúsiè( R R!R"RREt _set_timeoutt threadingtTimerR:ttypet_timertcancel(R'R0RUtt((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_set_timeoutós    cCsNtjjƒ}idd6dd6dd6|_|jƒ|ji|jƒdS(NiRIitCrHelperPermissionit CrHelperRule(R R!R"tDatat_cleanup_responseR:(R'R0((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_cleanup_responses c Cs-tjƒ&}|jddƒtjjƒ}WdQXtƒ|_tƒ|j _ tƒ|j _ tƒ|j _ |jtƒ'}|jƒ|jdt|ƒƒWdQX|j j jƒ|j j jƒ|j j jƒd|jd(R'R)R0RT((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_remove_pollings&     cCsÅtjƒ&}|jddƒtjjƒ}WdQXtƒ|_td|_ t ƒ|j _ t didd6ƒ|j _t ƒ|j _|jƒ|j jjƒ|j jjƒ|j j jƒdS(NRs us-east-1R Rs+arn:aws:lambda:blah:blah:function:blah/blahtRuleArn(RRRR R!R"RRER3RrRRntadd_permissionRktput_rulet put_targetsRKR>(R'R)R0((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyttest_setup_polling,s   cCsŒtjjƒ}d„}xmddddddgD]S}|jdt|d|ƒƒt||ƒ|ƒ|j|t|d|ƒƒq1WdS( NcSsdS(N((((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyRUGstcreatetupdatetdeletet poll_createt poll_updatet poll_deletes_%s_func(R R!R"R:R$tgetattr(R'R0RUtf((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyt test_wrappers?s  N(RRRR$RR*R1R=RCRHRNRSRYR[R]ReRjRsRxR(((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyR,sŒ 0 3 -#* '$'$ '''( R R+Rtunittestt unittest.mockRRR_R3tobjectRtTestCaseR(((sr/private/var/folders/s9/cbx9s9sn1m78mn5k39dlfbrs55jgn7/T/pip-install-K6xnzh/crhelper/tests/test_resource_helper.pyts6