Ë
    eQêj¸'  ã                   ó¬   — d dl Z d dlmZmZ d dlZd dlZd dlmZmZ ddl	m
Z
 ddlmZ  G d„ dej                  «      Zed	k(  r ej                   «        yy)
é    N)ÚBaseHTTPRequestHandlerÚThreadingHTTPServer)Ú	ApiClientÚConfigurationé   )ÚDynamicClient)ÚNotFoundErrorc                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚDynamicClientTestc                 ó¼  —  G d„ dt         «      }t        d|«      }t        j                  |j                  ¬«      }|j                  «        	 t        j                  t        «      }t        t        d|j                  › �dd¬«      «      |_        | j                  t        «      5 }|j                  dd	d
„ ¬«       d d d «       | j                  dj                   j#                  «       «       |j%                  «        |j'                  «        |j)                  «        y # 1 sw Y   ŒdxY w# |j%                  «        |j'                  «        |j)                  «        w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)úFDynamicClientTest.test_request_translates_http_errors.<locals>.Handlerc                 ó2  — t        j                  ddi«      j                  «       }| j                  d«       | j	                  dd«       | j	                  dt        t        |«      «      «       | j                  «        | j                  j                  |«       y )NÚmessageÚmissingi”  úContent-Typeúapplication/jsonúContent-Length)
ÚjsonÚdumpsÚencodeÚsend_responseÚsend_headerÚstrÚlenÚend_headersÚwfileÚwrite©ÚselfÚbodys     úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/kubernetes/dynamic/client_test.pyÚdo_GETzMDynamicClientTest.test_request_translates_http_errors.<locals>.Handler.do_GET   st   € Ü—z‘z 9¨iÐ"8Ó9×@Ñ@ÓB�Ø×"Ñ" 3Ô'Ø× Ñ  Ð1CÔDØ× Ñ Ð!1´3´s¸4³y³>ÔBØ× Ñ Ô"Ø—
‘
× Ñ  Õ&ó    c                  ó   — y ©N© ©r    ÚformatÚargss      r"   Úlog_messagezRDynamicClientTest.test_request_translates_http_errors.<locals>.Handler.log_message%   ó   € Ør$   N©Ú__name__Ú
__module__Ú__qualname__r#   r+   r'   r$   r"   ÚHandlerr      s   „ ò'ór$   r1   ©ú	127.0.0.1r   ©Útargetúhttp://127.0.0.1:Ú ©ÚhostÚproxyÚno_proxyÚgetz/missingc                 ó   — |S r&   r'   ©Ú_Údatas     r"   ú<lambda>zGDynamicClientTest.test_request_translates_http_errors.<locals>.<lambda>7   s   € ¨t€ r$   ©Ú
serializerr   )r   r   Ú	threadingÚThreadÚserve_foreverÚstartr   Ú__new__r   r   Úserver_portÚclientÚassertRaisesr	   ÚrequestÚassertEqualÚ	exceptionÚsummaryÚshutdownÚjoinÚserver_close)r    r1   ÚserverÚthreadÚdynamicÚraiseds         r"   Ú#test_request_translates_http_errorsz5DynamicClientTest.test_request_translates_http_errors   s  € ô
	Ô,ô 
	ô %Ð%5°wÓ?ˆÜ×!Ñ!¨×)=Ñ)=Ô>ˆØ�‰Œð	"Ü#×+Ñ+¬MÓ:ˆGÜ&¤}Ø(¨×);Ñ);Ð(<Ð=ØØô(ó ˆGŒNð ×"Ñ"¤=Ó1ð °VØ—‘ØØÙ3ð  ô ÷ð ×Ñ˜Y¨×(8Ñ(8×(@Ñ(@Ó(BÔCà�O‰OÔØ�K‰KŒMØ×ÑÕ!÷ð ûð �O‰OÔØ�K‰KŒMØ×ÑÕ!ús%   ÁAD) Â$DÂ:2D) ÄD&Ä"D) Ä)2Ec                 ó°  —  G d„ dt         «      }t        d|«      }t        j                  |j                  ¬«      }|j                  «        	 t        j                  t        «      }t        t        d|j                  › �dd¬«      «      |_        |j                  dd	d
dd„ ¬«      }| j                  ddi|«       | j                  d|j                  «       | j                  d|j                  «       |j!                  «        |j#                  «        |j%                  «        y # |j!                  «        |j#                  «        |j%                  «        w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)úUDynamicClientTest.test_request_preserves_resolved_async_req_response.<locals>.Handlerc                 ó¤  — | j                   | j                  _        | j                  d   | j                  _        t        j                  ddi«      j                  «       }| j                  d«       | j                  dd«       | j                  dt        t        |«      «      «       | j                  «        | j                  j                  |«       y )Nr   ÚkindÚAPIResourceListéÈ   r   r   )ÚpathrS   Úrequest_pathÚheadersÚcontent_typer   r   r   r   r   r   r   r   r   r   r   s     r"   r#   z\DynamicClientTest.test_request_preserves_resolved_async_req_response.<locals>.Handler.do_GETB   sš   € Ø+/¯9©9�—‘Ô(Ø+/¯<©<¸Ñ+G�—‘Ô(Ü—z‘z 6Ð+<Ð"=Ó>×EÑEÓG�Ø×"Ñ" 3Ô'Ø× Ñ  Ð1CÔDØ× Ñ Ð!1´3´s¸4³y³>ÔBØ× Ñ Ô"Ø—
‘
× Ñ  Õ&r$   c                  ó   — y r&   r'   r(   s      r"   r+   zaDynamicClientTest.test_request_preserves_resolved_async_req_response.<locals>.Handler.log_messageL   r,   r$   Nr-   r'   r$   r"   r1   rZ   A   s   „ ò'ór$   r1   r2   r4   r6   r7   r8   r<   ú/apisTÚtruec                 ó   — |S r&   r'   r>   s     r"   rA   zVDynamicClientTest.test_request_preserves_resolved_async_req_response.<locals>.<lambda>_   ó   € ¨4€ r$   )Ú	async_reqÚprettyrC   r\   r]   z/apis?pretty=truer   )r   r   rD   rE   rF   rG   r   rH   r   r   rI   rJ   rL   rM   r`   rb   rP   rQ   rR   )r    r1   rS   rT   rU   Úresponses         r"   Ú2test_request_preserves_resolved_async_req_responsezDDynamicClientTest.test_request_preserves_resolved_async_req_response@   s(  € ô	Ô,ô 	ô %Ð%5°wÓ?ˆÜ×!Ñ!¨×)=Ñ)=Ô>ˆØ�‰Œð	"Ü#×+Ñ+¬MÓ:ˆGÜ&¤}Ø(¨×);Ñ);Ð(<Ð=ØØô(ó ˆGŒNð —‘ØØØØÙ/ð 'ó ˆHð ×Ñ˜fÐ&7Ð8¸(ÔCØ×ÑÐ0°&×2EÑ2EÔFØ×ÑÐ/°×1DÑ1DÔEà�O‰OÔØ�K‰KŒMØ×ÑÕ!øð �O‰OÔØ�K‰KŒMØ×ÑÕ!ús   ÁB%D# Ä#2Ec                 ó¶  —  G d„ dt         «      }t        d|«      }t        j                  |j                  ¬«      }|j                  «        	 t        j                  t        «      }t        t        d|j                  › �dd¬«      «      |_        |j                  dd	d
didd„ ¬«       | j                  d|j                  «       | j                  d
dit        j                   |j"                  «      «       |j%                  «        |j'                  «        |j)                  «        y # |j%                  «        |j'                  «        |j)                  «        w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)úJDynamicClientTest.test_apply_patch_serializes_object_body.<locals>.Handlerc                 ó¬  — t        | j                  d   «      }| j                  j                  |«      | j                  _        | j                  d   | j                  _        d}| j                  d«       | j                  dd«       | j                  dt        t        |«      «      «       | j                  «        | j                  j                  |«       y )Nr   r   ó   {}r^   r   )Úintra   ÚrfileÚreadrS   Úrequest_bodyrb   r   r   r   r   r   r   r   )r    Úlengthr!   s      r"   Údo_PATCHzSDynamicClientTest.test_apply_patch_serializes_object_body.<locals>.Handler.do_PATCHl   sŸ   € Ü˜TŸ\™\Ð*:Ñ;Ó<�Ø+/¯:©:¯?©?¸6Ó+B�—‘Ô(Ø+/¯<©<¸Ñ+G�—‘Ô(Ø�Ø×"Ñ" 3Ô'Ø× Ñ  Ð1CÔDØ× Ñ Ð!1´3´s¸4³y³>ÔBØ× Ñ Ô"Ø—
‘
× Ñ  Õ&r$   c                  ó   — y r&   r'   r(   s      r"   r+   zVDynamicClientTest.test_apply_patch_serializes_object_body.<locals>.Handler.log_messagew   r,   r$   N)r.   r/   r0   rv   r+   r'   r$   r"   r1   rn   k   s   „ ò	'ór$   r1   r2   r4   r6   r7   r8   Úpatchz/apis/exampleÚ
apiVersionz
example/v1zapplication/apply-patch+yamlc                 ó   — |S r&   r'   r>   s     r"   rA   zKDynamicClientTest.test_apply_patch_serializes_object_body.<locals>.<lambda>Š   rg   r$   )r!   rb   rC   )r   r   rD   rE   rF   rG   r   rH   r   r   rI   rJ   rL   rM   rb   r   Úloadsrt   rP   rQ   rR   ©r    r1   rS   rT   rU   s        r"   Ú'test_apply_patch_serializes_object_bodyz9DynamicClientTest.test_apply_patch_serializes_object_bodyj   s+  € ô	Ô,ô 	ô %Ð%5°wÓ?ˆÜ×!Ñ!¨×)=Ñ)=Ô>ˆØ�‰Œð	"Ü#×+Ñ+¬MÓ:ˆGÜ&¤}Ø(¨×);Ñ);Ð(<Ð=ØØô(ó ˆGŒNð �O‰OØØØ" LÐ1Ø;Ù/ð ô ð ×ÑØ.°×0CÑ0CôEà×ÑØ˜|Ð,Ü—
‘
˜6×.Ñ.Ó/ôð
 �O‰OÔØ�K‰KŒMØ×ÑÕ!øð �O‰OÔØ�K‰KŒMØ×ÑÕ!ús   ÁB(D& Ä&2Ec                 ó  —  G d„ dt         «      } G d„ dt         «      }t        d|«      }d|_        t        d|«      }d|_        t        j                  |j
                  ¬«      }t        j                  |j
                  ¬«      }|j                  «        |j                  «        	 t        j                  t        «      }t        t        d|j                  › �d|j                  › �d	¬
«      «      |_        |j                  ddd„ ¬«       | j                  |j                  «       | j                  |j                  «       |j!                  «        |j!                  «        |j#                  «        |j#                  «        |j%                  «        |j%                  «        y # |j!                  «        |j!                  «        |j#                  «        |j#                  «        |j%                  «        |j%                  «        w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)úPDynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.TargetHandlerc                 ó  — d| j                   _        d}| j                  d«       | j                  dd«       | j                  dt	        t        |«      «      «       | j                  «        | j                  j                  |«       y ©NTrp   r^   r   r   r   ©	rS   Úreceived_requestr   r   r   r   r   r   r   r   s     r"   r#   zWDynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.TargetHandler.do_GETš   ói   € Ø/3�—‘Ô,Ø�Ø×"Ñ" 3Ô'Ø× Ñ  Ð1CÔDØ× Ñ Ð!1´3´s¸4³y³>ÔBØ× Ñ Ô"Ø—
‘
× Ñ  Õ&r$   c                  ó   — y r&   r'   r(   s      r"   r+   z\DynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.TargetHandler.log_message£   r,   r$   Nr-   r'   r$   r"   ÚTargetHandlerr€   ™   ó   „ ò'ór$   r‡   c                   ó   — e Zd Zd„ Zd„ Zy)úODynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.ProxyHandlerc                 ó  — d| j                   _        d}| j                  d«       | j                  dd«       | j                  dt	        t        |«      «      «       | j                  «        | j                  j                  |«       y r‚   rƒ   r   s     r"   r#   zVDynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.ProxyHandler.do_GET§   r…   r$   c                  ó   — y r&   r'   r(   s      r"   r+   z[DynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.ProxyHandler.log_message°   r,   r$   Nr-   r'   r$   r"   ÚProxyHandlerrŠ   ¦   rˆ   r$   r�   r2   Fr4   r6   r3   r8   r<   rd   c                 ó   — |S r&   r'   r>   s     r"   rA   zKDynamicClientTest.test_no_proxy_bypasses_configured_proxy.<locals>.<lambda>Æ   rg   r$   rB   )r   r   r„   rD   rE   rF   rG   r   rH   r   r   rI   rJ   rL   Ú
assertTrueÚassertFalserP   rQ   rR   )r    r‡   r�   r5   r:   Útarget_threadÚproxy_threadrU   s           r"   Ú'test_no_proxy_bypasses_configured_proxyz9DynamicClientTest.test_no_proxy_bypasses_configured_proxy˜   s©  € ô	Ô2ô 	ô	Ô1ô 	ô %Ð%5°}ÓEˆØ"'ˆÔÜ#Ð$4°lÓCˆØ!&ˆÔÜ!×(Ñ(°×0DÑ0DÔEˆÜ ×'Ñ'¨u×/BÑ/BÔCˆØ×ÑÔØ×ÑÔð	!Ü#×+Ñ+¬MÓ:ˆGÜ&¤}Ø(¨×);Ñ);Ð(<Ð=Ø)¨%×*;Ñ*;Ð)<Ð=Ø$ô(ó ˆGŒNð �O‰OØØÙ/ð ô ð �O‰O˜F×3Ñ3Ô4Ø×Ñ˜U×3Ñ3Ô4à�O‰OÔØ�N‰NÔØ×ÑÔ Ø×ÑÔØ×ÑÔ!Ø×ÑÕ øð �O‰OÔØ�N‰NÔØ×ÑÔ Ø×ÑÔØ×ÑÔ!Ø×ÑÕ ús   Â&BF! Æ!A"Hc           	      ó0  —  G d„ d«      } G d„ d«      }t        j                  t         «      } |«       }t        |j                   |«       d|dd¬«      «       | j	                  d|j
                  d	   «       | j	                  d|j
                  d
   «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)úNDynamicClientTest.test_watch_forwards_send_initial_events.<locals>.FakeWatcherc                 ó   — d | _         y r&   )Úkwargs)r    s    r"   Ú__init__zWDynamicClientTest.test_watch_forwards_send_initial_events.<locals>.FakeWatcher.__init__Õ   s	   € Ø"�•r$   c                 ó&   — || _         t        d«      S )Nr'   )r˜   Úiter)r    Úfuncr˜   s      r"   ÚstreamzUDynamicClientTest.test_watch_forwards_send_initial_events.<locals>.FakeWatcher.streamØ   s   € Ø$�”Ü˜B“x�r$   N)r.   r/   r0   r™   r�   r'   r$   r"   ÚFakeWatcherr–   Ô   s   „ ò#ó r$   rž   c                   ó   — e Zd Zd„ Zy)úODynamicClientTest.test_watch_forwards_send_initial_events.<locals>.FakeResourcec                  ó   — y r&   r'   )r    r˜   s     r"   r<   zSDynamicClientTest.test_watch_forwards_send_initial_events.<locals>.FakeResource.getÝ   r,   r$   N)r.   r/   r0   r<   r'   r$   r"   ÚFakeResourcer    Ü   s   „ ór$   r¢   ÚdefaultTÚNotOlderThan)Ú	namespaceÚwatcherÚsend_initial_eventsÚresource_version_matchr§   r¨   )r   rH   ÚlistÚwatchrM   r˜   )r    rž   r¢   rU   r¦   s        r"   Ú'test_watch_forwards_send_initial_eventsz9DynamicClientTest.test_watch_forwards_send_initial_eventsÓ   sŽ   € ÷	 ñ 	 ÷	ñ 	ô  ×'Ñ'¬Ó6ˆÙ“-ˆäˆW�]‰]Ù‹NØØØ $Ø#1ð ó 
ô 	ð 	×Ñ˜˜wŸ~™~Ð.CÑDÔEØ×Ñ˜¨¯©Ð8PÑ)QÕRr$   c                 óR  —  G d„ dt         «      }t        d|«      }t        j                  |j                  ¬«      }|j                  «        	 t        j                  t        «      }t        t        d|j                  › �dd¬«      «      |_        |j                  dd	d
ddd„ ¬«       | j                  d|j                  «       |j                  «        |j!                  «        |j#                  «        y # |j                  «        |j!                  «        |j#                  «        w xY w)Nc                   ó   — e Zd Zd„ Zd„ Zy)úWDynamicClientTest.test_request_builds_send_initial_events_query_params.<locals>.Handlerc                 óh  — | j                   | j                  _        t        j                  ddi«      j                  «       }| j                  d«       | j                  dd«       | j                  dt        t        |«      «      «       | j                  «        | j                  j                  |«       y )Nr\   r]   r^   r   r   r   )r_   rS   r`   r   r   r   r   r   r   r   r   r   r   r   s     r"   r#   z^DynamicClientTest.test_request_builds_send_initial_events_query_params.<locals>.Handler.do_GETð   s…   € Ø+/¯9©9�—‘Ô(Ü—z‘z 6Ð+<Ð"=Ó>×EÑEÓG�Ø×"Ñ" 3Ô'Ø× Ñ  Ð1CÔDØ× Ñ Ð!1´3´s¸4³y³>ÔBØ× Ñ Ô"Ø—
‘
× Ñ  Õ&r$   c                  ó   — y r&   r'   r(   s      r"   r+   zcDynamicClientTest.test_request_builds_send_initial_events_query_params.<locals>.Handler.log_messageù   r,   r$   Nr-   r'   r$   r"   r1   r®   ï   rˆ   r$   r1   r2   r4   r6   r7   r8   r<   rd   Ú0r¤   Tc                 ó   — |S r&   r'   r>   s     r"   rA   zXDynamicClientTest.test_request_builds_send_initial_events_query_params.<locals>.<lambda>  rg   r$   )Úresource_versionr¨   r§   rC   zP/apis?resourceVersion=0&resourceVersionMatch=NotOlderThan&sendInitialEvents=true)r   r   rD   rE   rF   rG   r   rH   r   r   rI   rJ   rL   rM   r`   rP   rQ   rR   r|   s        r"   Ú4test_request_builds_send_initial_events_query_paramszFDynamicClientTest.test_request_builds_send_initial_events_query_paramsî   s  € ô	Ô,ô 	ô %Ð%5°wÓ?ˆÜ×!Ñ!¨×)=Ñ)=Ô>ˆØ�‰Œð	"Ü#×+Ñ+¬MÓ:ˆGÜ&¤}Ø(¨×);Ñ);Ð(<Ð=ØØô(ó ˆGŒNð �O‰OØØØ!$Ø'5Ø$(Ù/ð ô ð ×Ñð*à×#Ñ#ôð �O‰OÔØ�K‰KŒMØ×ÑÕ!øð �O‰OÔØ�K‰KŒMØ×ÑÕ!ús   ÁA6C4 Ã42D&N)	r.   r/   r0   rW   rk   r}   r“   r«   r´   r'   r$   r"   r   r      s%   „ ò#"òJ("òT,"ò\9!òvSó6*"r$   r   Ú__main__)r   Úhttp.serverr   r   rD   ÚunittestÚkubernetes.clientr   r   rJ   r   Ú
exceptionsr	   ÚTestCaser   r.   Úmainr'   r$   r"   ú<module>r¼      sK   ðó ß CÛ Û ç 6å !Ý %ô~"˜×)Ñ)ô ~"ðB ˆzÒØ€H‡M�M…Oð r$   