§
    Štji  ã                   óê   — d dl Z d dlZd dlZd dlZd dlZd dlmZ ddlmZ ddl	m
Z
mZmZmZ dZdZdZd	Zd
ZdZdZdZe
eeeiZe
eeeiZ G d„ dej        ¦  «        Zedk    r ej        ¦   «          dS dS )é    N)ÚConfigurationé   )ÚConfigException)ÚSERVICE_HOST_ENV_NAMEÚSERVICE_PORT_ENV_NAMEÚInClusterConfigLoaderÚ_join_host_portÚ
temp_tokenÚtemp_new_tokenÚ	temp_certz	127.0.0.1Ú80z127.0.0.1:80z::1z[::1]:80c                   óx   — e Zd Zd„ Zd„ Zdd„Zddef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 )ÚInClusterConfigTestc                 ó   — g | _         d S ©N)Ú_temp_files©Úselfs    úi/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/kubernetes/aio/config/incluster_config_test.pyÚsetUpzInClusterConfigTest.setUp/   s   € ØˆÔÐÐó    c                 óB   — | j         D ]}t          j        |¦  «         Œd S r   )r   ÚosÚremove)r   Úfs     r   ÚtearDownzInClusterConfigTest.tearDown2   s-   € ØÔ!ð 	ð 	ˆAÝŒI�a‰LŒLˆLˆLð	ð 	r   Ú c                 óè   — t          j        ¦   «         \  }}| j                             |¦  «         t	          j        |t                               |¦  «        ¦  «         t	          j        |¦  «         |S r   )	ÚtempfileÚmkstempr   Úappendr   ÚwriteÚstrÚencodeÚclose)r   ÚcontentÚhandlerÚnames       r   Ú_create_file_with_temp_contentz2InClusterConfigTest._create_file_with_temp_content6   s^   € Ý Ô(Ñ*Ô*‰ˆ�ØÔ×Ò Ñ%Ô%Ð%Ý
Œ��#Ÿ*š* WÑ-Ô-Ñ.Ô.Ð.Ý
Œ�ÑÔÐØˆr   Nc                 ó˜   — |s|                       t          ¦  «        }|s|                       t          ¦  «        }t          ||d|¬¦  «        S )NT)Útoken_filenameÚcert_filenameÚtry_refresh_tokenÚenviron)r)   Ú_TEST_TOKENÚ
_TEST_CERTr   )r   r+   r,   r.   s       r   Úget_test_loaderz#InClusterConfigTest.get_test_loader=   s^   € ð ð 	NØ!×@Ò@ÅÑMÔMˆNØð 	LØ ×?Ò?Å
ÑKÔKˆMÝ$°NØ3@Ø7;Ø-4ð6ñ 6ô 6ð 	6r   c                 óÒ   — |                       t          t          t          t          ¦  «        ¦  «         |                       t
          t          t          t          ¦  «        ¦  «         d S r   )ÚassertEqualÚ_TEST_HOST_PORTr	   Ú
_TEST_HOSTÚ
_TEST_PORTÚ_TEST_IPV6_HOST_PORTÚ_TEST_IPV6_HOSTr   s    r   Útest_join_host_portz'InClusterConfigTest.test_join_host_portJ   sc   € Ø×Ò�Ý(­µZÑ@Ô@ñ	Bô 	Bð 	Bà×ÒÕ-Ý(­½*ÑEÔEñ	Gô 	Gð 	Gð 	Gð 	Gr   c                 óP  — |                       t          ¦  «        }|                      |¬¦  «        }|                     ¦   «          |                      dt
          z   |j        ¦  «         |                      ||j        ¦  «         |                      dt          z   |j	        ¦  «         d S )N©r,   zhttps://úbearer )
r)   r0   r1   Ú_load_configr3   r4   ÚhostÚssl_ca_certr/   Útoken)r   r,   Úloaders      r   Útest_load_configz$InClusterConfigTest.test_load_configP   s–   € Ø×;Ò;½JÑGÔGˆØ×%Ò%°MÐ%ÑBÔBˆØ×ÒÑÔÐØ×Ò˜¥oÑ5°v´{ÑCÔCÐCØ×Ò˜¨Ô(:Ñ;Ô;Ð;Ø×Ò˜¥[Ñ0°&´,Ñ?Ô?Ð?Ð?Ð?r   c              ƒ   óX  K  — |                       ¦   «         }t          ¦   «         }|                     |¦  «         |                      dt          z   |                     d¦  «        ƒ d {V —†¦  «         |                      dt          z   |j        ¦  «         |                      |j        ¦  «         |j        }|j        }|  	                    t          ¦  «        |_        |                      dt          z   |                     d¦  «        ƒ d {V —†¦  «         t          j                             ¦   «         |_        |                      dt          z   |                     d¦  «        ƒ d {V —†¦  «         |                      dt          z   |j        ¦  «         |                      |j        |¦  «         d S )Nr<   ÚBearerToken)r1   r   Úload_and_setr3   r/   Úget_api_key_with_prefixr@   ÚassertIsNotNoneÚtoken_expires_atr)   Ú_TEST_NEW_TOKENÚ_token_filenameÚdatetimeÚnowÚassertGreater)r   rA   ÚconfigÚ	old_tokenÚold_token_expires_ats        r   Útest_refresh_tokenz&InClusterConfigTest.test_refresh_tokenX   s¸  è è € Ø×%Ò%Ñ'Ô'ˆÝ‘”ˆØ×Ò˜FÑ#Ô#Ð#à×Ò˜¥[Ñ0Ø%×=Ò=¸mÑLÔLÐLÐLÐLÐLÐLÐLñ	Nô 	Nð 	Nà×Ò˜¥[Ñ0°&´,Ñ?Ô?Ð?Ø×Ò˜VÔ4Ñ5Ô5Ð5à”Lˆ	Ø%Ô6ÐØ!%×!DÒ!DÝñ"ô "ˆÔà×Ò˜¥[Ñ0Ø%×=Ò=¸mÑLÔLÐLÐLÐLÐLÐLÐLñ	Nô 	Nð 	Nõ #+Ô"3×"7Ò"7Ñ"9Ô"9ˆÔØ×Ò˜¥_Ñ4Ø%×=Ò=¸mÑLÔLÐLÐLÐLÐLÐLÐLñ	Nô 	Nð 	Nà×Ò˜¥_Ñ4°f´lÑCÔCÐCØ×Ò˜6Ô2Ð4HÑIÔIÐIÐIÐIr   c                 ó‚   — 	 |                      ¦   «          |                      d|z  ¦  «         d S # t          $ r Y d S w xY w)NzShould fail because %s)rE   Úfailr   )r   Úconfig_loaderÚreasons      r   Ú_should_fail_loadz%InClusterConfigTest._should_fail_loado   sY   € ð	Ø×&Ò&Ñ(Ô(Ð(Ø�IŠIÐ.°Ñ7Ñ8Ô8Ð8Ð8Ð8øÝð 	ð 	ð 	àˆDˆDð	øøøs   ‚,0 °
>½>c                 óv   — |                       t          t          i¬¦  «        }|                      |d¦  «         d S )N©r.   zno port specified)r1   r   r5   rV   ©r   rA   s     r   Útest_no_portz InClusterConfigTest.test_no_portw   óA   € Ø×%Ò%Ý*­JÐ7ð &ñ 9ô 9ˆà×Ò˜vÐ':Ñ;Ô;Ð;Ð;Ð;r   c                 ó„   — |                       t          t          t          di¬¦  «        }|                      |d¦  «         d S )Nr   rX   zempty port specified)r1   r   r5   r   rV   rY   s     r   Útest_empty_portz#InClusterConfigTest.test_empty_port|   sH   € Ø×%Ò%Ý!¥:Ý! 2ð/
Ð%ñ ô ˆð 	×Ò˜vÐ'=Ñ>Ô>Ð>Ð>Ð>r   c                 óv   — |                       t          t          i¬¦  «        }|                      |d¦  «         d S )NrX   zno host specified)r1   r   r6   rV   rY   s     r   Útest_no_hostz InClusterConfigTest.test_no_hostƒ   r[   r   c                 ó„   — |                       t          dt          t          i¬¦  «        }|                      |d¦  «         d S )Nr   rX   zempty host specified)r1   r   r   r6   rV   rY   s     r   Útest_empty_hostz#InClusterConfigTest.test_empty_hostˆ   sH   € Ø×%Ò%Ý! 2Ý!¥:ð/
Ð%ñ ô ˆð 	×Ò˜vÐ'=Ñ>Ô>Ð>Ð>Ð>r   c                 ó^   — |                       d¬¦  «        }|                      |d¦  «         d S )NÚnot_exists_file_1123r;   zcert file does not exist©r1   rV   rY   s     r   Útest_no_cert_filez%InClusterConfigTest.test_no_cert_file�   s6   € Ø×%Ò%Ð4JÐ%ÑKÔKˆØ×Ò˜vÐ'AÑBÔBÐBÐBÐBr   c                 ó‚   — |                       |                      ¦   «         ¬¦  «        }|                      |d¦  «         d S )Nr;   zempty cert file provided©r1   r)   rV   rY   s     r   Útest_empty_cert_filez(InClusterConfigTest.test_empty_cert_file“   sJ   € Ø×%Ò%Ø×=Ò=Ñ?Ô?ð &ñ Aô Aˆà×Ò˜vÐ'AÑBÔBÐBÐBÐBr   c                 ó^   — |                       d¬¦  «        }|                      |d¦  «         d S )Nrc   ©r+   ztoken file does not existrd   rY   s     r   Útest_no_token_filez&InClusterConfigTest.test_no_token_file˜   s6   € Ø×%Ò%Ð5KÐ%ÑLÔLˆØ×Ò˜vÐ'BÑCÔCÐCÐCÐCr   c                 ó‚   — |                       |                      ¦   «         ¬¦  «        }|                      |d¦  «         d S )Nrj   zempty token file providedrg   rY   s     r   Útest_empty_token_filez)InClusterConfigTest.test_empty_token_fileœ   sJ   € Ø×%Ò%Ø×>Ò>Ñ@Ô@ð &ñ Bô Bˆà×Ò˜vÐ'BÑCÔCÐCÐCÐCr   )r   )Ú__name__Ú
__module__Ú__qualname__r   r   r)   Ú_TEST_ENVIRONr1   r9   rB   rQ   rV   rZ   r]   r_   ra   re   rh   rk   rm   © r   r   r   r   .   s0  € € € € € ðð ð ðð ð ðð ð ð ð (,Ø&*Ø -ð6ð 6ð 6ð 6ðGð Gð Gð@ð @ð @ðJð Jð Jð.ð ð ð<ð <ð <ð
?ð ?ð ?ð<ð <ð <ð
?ð ?ð ?ðCð Cð CðCð Cð Cð
Dð Dð DðDð Dð Dð Dð Dr   r   Ú__main__)rK   r   r   ÚtimeÚunittestÚkubernetes.aio.clientr   Úconfig_exceptionr   Úincluster_configr   r   r   r	   r/   rI   r0   r5   r6   r4   r8   r7   rq   Ú_TEST_IPV6_ENVIRONÚTestCaser   rn   Úmainrr   r   r   ú<module>r|      sV  ðð €€€Ø 	€	€	€	Ø €€€Ø €€€Ø €€€à /Ð /Ð /Ð /Ð /Ð /à -Ð -Ð -Ð -Ð -Ð -ðGð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð Gð €Ø"€Ø€
Ø€
Ø€
Ø €Ø€Ø!Ð ð ˜:Ø˜:ð€ð
 ˜?Ø˜:ðÐ ðqDð qDð qDð qDð qD˜(Ô+ñ qDô qDð qDðh ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   