+
    Epj  c                       ^ RI t^ RIHu Ht ^ RIt^ RIt^ RIt^ RI	t	^ RI	H
t
  ! R R]	P                  4      t]R8X  d   ]	P                  ! 4        R# R# )    N)mockc                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )WebhookTestsc                Z   \         P                  ! R 4      p\        P                  ! 4       p\        P
                  ! RRRRRRRRR	R
/RRR/RRRRRRRR/./4      pVP                  W#P                  R4      4      pV P                  V^4       VP                  ^R7      pV P                  VP                  R4       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                  R4       V P                  VP                  R4       R# )agent_guard.events.webhookalertsstatusfiringlabelsseveritycriticalremediationkill	alertnamemem_exhaustion_eta_critannotationssummaryzMemory exhaustion ETA below 90spanelURLz<http://127.0.0.1:3000/d/system-monitor-overview?viewPanel=14dashboardURLz/http://127.0.0.1:3000/d/system-monitor-overviewgeneratorURLzhttp://127.0.0.1:9090/graphvalueStringzA=42utf-8timeoutgrafanaN)	importlibimport_modulequeueQueuejsondumpshandle_payloadencodeassertEqualgettiersourcereasoninfo_urlr   )selfmodqbodyr   events   &     N/home/user/Projects/overdeck/modules/monitor/agent-guard/tests/test_webhook.py)test_webhook_firing_payload_maps_to_event6WebhookTests.test_webhook_firing_payload_maps_to_event	   s   %%&BCKKMzzhz:}fk[tu!I/P#Q ^"$U"$A!6

  ##A{{7';<%a Z0y1'HI)gh**F3    c                <   \         P                  ! R 4      p\        P                  ! 4       p\        P
                  ! RRRRRR//./4      pVP                  W#P                  R4      4      pV P                  V^4       V P                  VP                  4       4       R# )	r   r   r   resolvedr
   r   warningr   N)r   r   r   r   r   r    r!   r"   r#   
assertTrueempty)r)   r*   r+   r,   r   s   &    r.   (test_webhook_resolved_payload_is_ignored5WebhookTests.test_webhook_resolved_payload_is_ignored"   s~    %%&BCKKMzz8xX
T]G^&_%`ab##A{{7';<%	"r1   c           
     N   \         P                  ! R 4      p\        P                  ! 4       p\        P
                  ! RRRRRRRR//./4      p\        P                  P                  VR	4      ;_uu_ 4       pVP                  VR
4      pV P                  VR4       VP                  W#P                  R4      4      pV P                  V^4       VP                  ^R7      pRRR4       XP                  4        V P                  XP                  R4       R#   + '       g   i     L>; i)r   r   r   r	   r
   r   r4   r   tmpfs_junk_warnjournal_send   {i  r   r   Nr   )r   r   r   r   r   r    r   patchobjectr!   r#   r"   r$   assert_calledr&   )r)   r*   r+   goodr;   
status_badr   r-   s   &       r.   Ctest_webhook_malformed_payload_returns_400_and_thread_keeps_servingPWebhookTests.test_webhook_malformed_payload_returns_400_and_thread_keeps_serving*   s    %%&BCKKMzz8x8jR[]hj{E|&}%~  AZZsN33|++At4JZ-'';;w+?@FVS)EE!E$E 4 	""$y1 43s   5A)DD$	c                D   \         P                  ! R 4      pV P                  \        4      ;_uu_ 4        VP	                  \
        P                  ! 4       RRR7       RRR4       \        P                  ! R\        4       R7      ;_uu_ 4       pVP	                  \
        P                  ! 4       RRR7      pRRR4       V P                  X4       V P                  XP                  P                  ^ ,          R4       R#   + '       g   i     L; i  + '       g   i     Lc; i)	r   z0.0.0.0#  )hostportNz.agent_guard.events.webhook.ThreadingHTTPServer)return_value	127.0.0.1)rI   rE   )r   r   assertRaises
ValueErrormake_serverr   r   r   r=   r>   assertIsNotNoner#   	call_argsargs)r)   r*   
server_clsservers   &   r.   &test_webhook_refuses_non_loopback_bind3WebhookTests.test_webhook_refuses_non_loopback_bind7   s    %%&BCz**OOEKKM	OE +ZZHW]W_``dn__U[[]4_PF aV$--22157JK +*``s   (C<(D<D	D	 N)
__name__
__module____qualname____firstlineno__r/   r7   rB   rR   __static_attributes____classdictcell__)__classdict__s   @r.   r   r      s      42#2L Lr1   r   __main__)builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_arr   r   r   unittestr   TestCaser   rU   mainrT   r1   r.   <module>rf      sF           6L8$$ 6Lr zMMO r1   