
    L                         S SK r S SKrS SKrSSKJr  SSKJrJrJrJ	r	  Sr
SrSrSrS	rS
rSr\\\\0r\\\\0r " S S\R&                  5      r\S:X  a  \R,                  " 5         gg)    N   )ConfigException)SERVICE_HOST_ENV_NAMESERVICE_PORT_ENV_NAMEInClusterConfigLoader_join_host_port
temp_token	temp_certz	127.0.0.180z127.0.0.1:80z::1z[::1]:80c                   |    \ rS rSrS rS rSS jrSS\4S jrS r	S r
S	 rS
 rS rS rS rS rS rS rS rSrg)InClusterConfigTest+   c                     / U l         g N_temp_filesselfs    :lib/third_party/kubernetes/config/incluster_config_test.pysetUpInClusterConfigTest.setUp-   s
    D    c                 V    U R                    H  n[        R                  " U5        M     g r   )r   osremove)r   fs     r   tearDownInClusterConfigTest.tearDown0   s    iil r   c                     [         R                  " 5       u  p#U R                  R                  U5        [        R
                  " U[        R                  U5      5        [        R                  " U5        U$ r   )	tempfilemkstempr   appendr   writestrencodeclose)r   contenthandlernames       r   _create_file_with_temp_content2InClusterConfigTest._create_file_with_temp_content4   sN    $$&MGD!HHWcjj)*HHWKr   Nc                     U(       d  U R                  [        5      nU(       d  U R                  [        5      n[        UUUS9$ )N)token_filenamecert_filenameenviron)r*   _TEST_TOKEN
_TEST_CERTr   )r   r-   r.   r/   s       r   get_test_loader#InClusterConfigTest.get_test_loader;   s@     ::;Gn99*Em %# r   c                     U R                  [        [        [        [        5      5        U R                  [
        [        [        [        5      5        g r   )assertEqual_TEST_HOST_PORTr   
_TEST_HOST
_TEST_PORT_TEST_IPV6_HOST_PORT_TEST_IPV6_HOSTr   s    r   test_join_host_port'InClusterConfigTest.test_join_host_portH   s5    _oj*&MN)$_jACr   c                 (   U R                  [        5      nU R                  US9nUR                  5         U R	                  S[
        -   UR                  5        U R	                  XR                  5        U R	                  [        UR                  5        g )Nr.   zhttps://)
r*   r1   r2   _load_configr5   r6   hostssl_ca_certr0   token)r   r.   loaders      r   test_load_config$InClusterConfigTest.test_load_configM   sr    77
CM!!!>F
Z/16;;?]$6$67[&,,/r   c                 n     UR                  5         U R                  SU-  5        g ! [         a     g f = f)NzShould fail because %s)load_and_setfailr   )r   config_loaderreasons      r   _should_fail_load%InClusterConfigTest._should_fail_loadU   s7      "
ii(612 
s   $' 
44c                 Z    U R                  [        [        0S9nU R                  US5        g )Nr/   zno port specified)r2   r   r7   rK   r   rC   s     r   test_no_port InClusterConfigTest.test_no_port]   ,    !!+@**M!NF6#67r   c                 f    U R                  [        [        [        S0S9nU R	                  US5        g )N rN   zempty port specified)r2   r   r7   r   rK   rO   s     r   test_empty_port#InClusterConfigTest.test_empty_porta   s7    !!zr+! F 	6#9:r   c                 Z    U R                  [        [        0S9nU R                  US5        g )NrN   zno host specified)r2   r   r8   rK   rO   s     r   test_no_host InClusterConfigTest.test_no_hosth   rR   r   c                 f    U R                  [        S[        [        0S9nU R	                  US5        g )NrT   rN   zempty host specified)r2   r   r   r8   rK   rO   s     r   test_empty_host#InClusterConfigTest.test_empty_hostl   s7    !!rz+! F 	6#9:r   c                 F    U R                  SS9nU R                  US5        g )Nnot_exists_file_1123r>   zcert file does not existsr2   rK   rO   s     r   test_no_cert_file%InClusterConfigTest.test_no_cert_files   s'    !!0F!GF6#>?r   c                 b    U R                  U R                  5       S9nU R                  US5        g )Nr>   zempty cert file providedr2   r*   rK   rO   s     r   test_empty_cert_file(InClusterConfigTest.test_empty_cert_filew   s4    !!99; " =F6#=>r   c                 F    U R                  SS9nU R                  US5        g )Nr^   r-   ztoken file does not existsr_   rO   s     r   test_no_token_file&InClusterConfigTest.test_no_token_file|   s'    !!1G!HF6#?@r   c                 b    U R                  U R                  5       S9nU R                  US5        g )Nrg   zempty token file providedrc   rO   s     r   test_empty_token_file)InClusterConfigTest.test_empty_token_file   s4    !!::< " >F6#>?r   r   )rT   )__name__
__module____qualname____firstlineno__r   r   r*   _TEST_ENVIRONr2   r;   rD   rK   rP   rU   rX   r[   r`   rd   rh   rk   __static_attributes__ r   r   r   r   +   s\     &*$(+C
08;8;@?
A@r   r   __main__)r   r    unittestconfig_exceptionr   incluster_configr   r   r   r   r0   r1   r7   r8   r6   r:   r9   rq   _TEST_IPV6_ENVIRONTestCaser   rm   mainrs   r   r   <module>r{      s   " 
   -G G 


 !  ::
 ?: X@(++ X@v z
--/ r   