§
    ŠtjÎ  ã                   ó¢   — 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 ddlm	Z	  G d„ dej
        ¦  «        Zed	k    r ej        ¦   «          dS dS )
é    N)Úmocké   )ÚConfigException)ÚExecProvider)Ú
ConfigNodec                   óÜ  — e Zd Zd„ Zd„ Z ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d„ ¦   «         Z	 ej        d¦  «        d„ ¦   «         Z
 ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d	„ ¦   «         Z ej        d¦  «        d
„ ¦   «         Z ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d„ ¦   «         ZdS )ÚExecProviderTestc           	      ó†   — t          ddg d¢dd dœ¦  «        | _        t          ddg d¢ddd dœ¦  «        | _        d| _        d S )	NÚtestzaws-iam-authenticator)Útokenz-iÚdummyz$client.authentication.k8s.io/v1beta1)ÚcommandÚargsÚ
apiVersionÚenvT)r   r   r   ÚprovideClusterInfor   zÌ
        {
            "apiVersion": "client.authentication.k8s.io/v1beta1",
            "kind": "ExecCredential",
            "status": {
                "token": "dummy"
            }
        }
        )r   Úinput_okÚinput_with_clusterÚ	output_ok)Úselfs    úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/kubernetes/config/exec_provider_test.pyÚsetUpzExecProviderTest.setUp   ss   € Ý" 6Ø.Ø,Ð,Ð,Ø@Øð	,
ð ,
ñ ô ˆŒõ #-¨VØ.Ø,Ð,Ð,Ø@Ø"&Øð6
ð 6
ñ #ô #ˆÔðˆŒˆˆó    c                 óF  — t          di ¦  «        t          dddi¦  «        t          dddi¦  «        g}|D ]j}|                      t          ¦  «        5 }t          |d ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d|j        j        d         ¦  «         Œkd S )	NÚtest1Útest2r   Ú Útest3r   z$exec: malformed request. missing keyr   )r   ÚassertRaisesr   r   ÚassertInÚ	exceptionr   )r   Úexec_configsÚexec_configÚcontexts       r   Útest_missing_input_keysz(ExecProviderTest.test_missing_input_keys4   s÷   € Ý" 7¨BÑ/Ô/Ý" 7¨Y¸¨OÑ<Ô<Ý" 7¨\¸2Ð,>Ñ?Ô?ðAˆð (ð 	5ð 	5ˆKØ×"Ò"¥?Ñ3Ô3ð 0°wÝ˜[¨$Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0à�MŠMÐ@Ø!Ô+Ô0°Ô3ñ5ô 5ð 5ð 5ð	5ð 	5s   ÁA/Á/A3	Á6A3	zsubprocess.Popenc                 ó`  — |j         }d|j        _         d|j        _         |                      t          ¦  «        5 }t          | j        d ¦  «        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      d|j        j         z  |j	        j
        d         ¦  «         d S )Nr   ©r   r   zexec: process returned %dr   ©Úreturn_valueÚwaitÚcommunicater   r   r   r   Úrunr    r!   r   ©r   r   Úinstancer$   Úeps        r   Útest_error_code_returnedz)ExecProviderTest.test_error_code_returned>   sè   € àÔ$ˆØ%&ˆŒÔ"Ø,4ˆÔÔ)Ø×Ò�Ñ/Ô/ð 	°7Ý˜dœm¨TÑ2Ô2ˆBØ�FŠF‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ1Ø”mÔ0ñ1Ø29Ô2CÔ2HÈÔ2Kñ	Mô 	Mð 	Mð 	Mð 	Mó   º*A0Á0A4Á7A4c                 óF  — |j         }d|j        _         d|j        _         |                      t          ¦  «        5 }t          | j        d ¦  «        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      d|j	        j
        d         ¦  «         d S )Nr   r'   z%exec: failed to decode process outputr(   r-   s        r   Útest_nonjson_output_returnedz-ExecProviderTest.test_nonjson_output_returnedI   sÖ   € àÔ$ˆØ%&ˆŒÔ"Ø,4ˆÔÔ)Ø×Ò�Ñ/Ô/ð 	°7Ý˜dœm¨TÑ2Ô2ˆBØ�FŠF‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠÐ=ØÔ'Ô,¨QÔ/ñ	1ô 	1ð 	1ð 	1ð 	1r1   c                 ó\  — |j         }d|j        _         g d¢}|D ]‘}|df|j        _         |                      t          ¦  «        5 }t          | j        d ¦  «        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      d|j	        j
        d         ¦  «         Œ’d S )Nr   )z¦
            {
                "kind": "ExecCredential",
                "status": {
                    "token": "dummy"
                }
            }
            zÂ
            {
                "apiVersion": "client.authentication.k8s.io/v1beta1",
                "status": {
                    "token": "dummy"
                }
            }
            z˜
            {
                "apiVersion": "client.authentication.k8s.io/v1beta1",
                "kind": "ExecCredential"
            }
            r   z%exec: malformed response. missing keyr(   )r   r   r.   ÚoutputsÚoutputr$   r/   s          r   Útest_missing_output_keysz)ExecProviderTest.test_missing_output_keysT   s  € àÔ$ˆØ%&ˆŒÔ"ð
ð 
ð 
ˆð, ð 	5ð 	5ˆFØ17¸°ˆHÔ Ô-Ø×"Ò"¥?Ñ3Ô3ð °wÝ! $¤-°Ñ6Ô6�Ø—’‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÐAØ!Ô+Ô0°Ô3ñ5ô 5ð 5ð 5ð	5ð 	5s   Á*A:Á:A>	ÂA>	c                 ó^  — |j         }d|j        _         d}d|z  }|df|j        _         |                      t          ¦  «        5 }t          | j        d ¦  «        }|                     ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      d|z  |j	        j
        d         ¦  «         d S )Nr   zclient.authentication.k8s.io/v1zª
        {
            "apiVersion": "%s",
            "kind": "ExecCredential",
            "status": {
                "token": "dummy"
            }
        }
        r   z*exec: plugin api version %s does not matchr(   )r   r   r.   Úwrong_api_versionr6   r$   r/   s          r   Útest_mismatched_api_versionz,ExecProviderTest.test_mismatched_api_versionv   sû   € àÔ$ˆØ%&ˆŒÔ"Ø=Ððð  ñ ˆð .4°R¨LˆÔÔ)Ø×Ò�Ñ/Ô/ð 	°7Ý˜dœm¨TÑ2Ô2ˆBØ�FŠF‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	�ŠØ8ØñàÔÔ" 1Ô%ñ	'ô 	'ð 	'ð 	'ð 	's   Á*A9Á9A=Â A=c                 ó"  — |j         }d|j        _         | j        df|j        _         t	          | j        d ¦  «        }|                     ¦   «         }|                      t          |t          ¦  «        ¦  «         |                      d|v ¦  «         d S )Nr   r   r   )
r)   r*   r   r+   r   r   r,   Ú
assertTrueÚ
isinstanceÚdict)r   r   r.   r/   Úresults        r   Ú
test_ok_01zExecProviderTest.test_ok_01�   s}   € àÔ$ˆØ%&ˆŒÔ"Ø-1¬^¸RÐ,@ˆÔÔ)Ý˜$œ-¨Ñ.Ô.ˆØ—’‘”ˆØ�Š�
 6­4Ñ0Ô0Ñ1Ô1Ð1Ø�Š˜ 6Ð)Ñ*Ô*Ð*Ð*Ð*r   c                 óò   — |j         }d|j        _         | j        df|j        _         t	          | j        d¦  «        }|                     ¦   «          |                      |j        d         d         d¦  «         d S )Nr   r   z/some/directoryr   Úcwd)	r)   r*   r   r+   r   r   r,   ÚassertEqualÚ	call_args)r   r   r.   r/   s       r   Útest_run_in_dirz ExecProviderTest.test_run_in_dir—   sn   € àÔ$ˆØ%&ˆŒÔ"Ø-1¬^¸RÐ,@ˆÔÔ)Ý˜$œ-Ð):Ñ;Ô;ˆØ
�Š‰ŒˆØ×Ò˜œ¨Ô*¨5Ô1Ð3DÑEÔEÐEÐEÐEr   c                 óš  — |j         }d|j        _         | j        df|j        _         t          j                             dd ¬¦  «        }|5  t          | j        d ¦  «        }| 	                    ¦   «         }|  
                    t          |t          ¦  «        ¦  «         |  
                    d|v ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   z
sys.stdout)Únewr   )r)   r*   r   r+   Úunittestr   Úpatchr   r   r,   r<   r=   r>   )r   r   r.   Úmock_stdoutr/   r?   s         r   Útest_ok_no_console_attachedz,ExecProviderTest.test_ok_no_console_attached    s  € àÔ$ˆØ%&ˆŒÔ"Ø-1¬^¸RÐ,@ˆÔÔ)Ý”m×)Ò)Ø˜dð *ñ $ô $ˆàð 	/ð 	/Ý˜dœm¨TÑ2Ô2ˆBØ—V’V‘X”XˆFØ�OŠO�J v­tÑ4Ô4Ñ5Ô5Ð5Ø�OŠO˜G vÐ-Ñ.Ô.Ð.ð		/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   Á
A)C Ã CÃCc           	      óè  — |j         }d|j        _         | j        df|j        _         t	          | j        d t          dddi¦  «        ¦  «        }|                     ¦   «         }|                      t          |t          ¦  «        ¦  «         |                      d|v ¦  «         t          j        |j        j        d         d         ¦  «        }|                      |d	         d         d         d¦  «         d S )
Nr   r   ÚclusterÚserverúname.company.comr   r   ÚKUBERNETES_EXEC_INFOÚspec©r)   r*   r   r+   r   r   r   r,   r<   r=   r>   ÚjsonÚloadsrD   ÚkwargsrC   ©r   r   r.   r/   r?   Úobjs         r   Útest_with_cluster_infoz'ExecProviderTest.test_with_cluster_info­   sÕ   € àÔ$ˆØ%&ˆŒÔ"Ø-1¬^¸RÐ,@ˆÔÔ)Ý˜$Ô1°4½ÀIÐPXÐZlÐOmÑ9nÔ9nÑoÔoˆØ—’‘”ˆØ�Š�
 6­4Ñ0Ô0Ñ1Ô1Ð1Ø�Š˜ 6Ð)Ñ*Ô*Ð*åŒj˜œÔ.¨uÔ5Ð6LÔMÑNÔNˆØ×Ò˜˜Vœ YÔ/°Ô9Ð;MÑNÔNÐNÐNÐNr   c                 ó°  — |j         }d|j        _         | j        df|j        _         t	          | j        d t          ddddddœd	œgd
œ¦  «        ¦  «        }|                     ¦   «         }|                      t          |t          ¦  «        ¦  «         |                      d|v ¦  «         t          j        |j        j        d         d         ¦  «        }|                      |d         d         d         d¦  «         |                      |d         d         d         d         d¦  «         |                      |d         d         d         d         d¦  «         d S )Nr   r   rM   rO   z!client.authentication.k8s.io/execÚ	myprojectÚ	mycluster)Ú	namespaceÚname)r]   Ú	extension)rN   Ú
extensionsr   r   rP   rQ   rN   Úconfigr\   r]   rR   rV   s         r   Ú*test_with_cluster_info_from_exec_extensionz;ExecProviderTest.test_with_cluster_info_from_exec_extensionº   s^  € àÔ$ˆØ%&ˆŒÔ"Ø-1¬^¸RÐ,@ˆÔÔ)ÝØÔ#ØÝØà0ð %Hà-8Ø(3ð*ð *ðð ð#ðð ñô ñ
ô 
ˆð& —’‘”ˆØ�Š�
 6­4Ñ0Ô0Ñ1Ô1Ð1Ø�Š˜ 6Ð)Ñ*Ô*Ð*åŒj˜œÔ.¨uÔ5Ð6LÔMÑNÔNˆØ×Ò˜˜Vœ YÔ/°Ô9Ð;MÑNÔNÐNØ×Ò˜˜Vœ YÔ/°Ô9¸+ÔFÈÑTÔTÐTØ×Ò˜˜Vœ YÔ/°Ô9¸&ÔAÀ;ÑOÔOÐOÐOÐOr   N)Ú__name__Ú
__module__Ú__qualname__r   r%   r   rI   r0   r3   r7   r:   r@   rE   rK   rX   ra   © r   r   r	   r	      s²  € € € € € ðð ð ð05ð 5ð 5ð €T„ZÐ"Ñ#Ô#ðMð Mñ $Ô#ðMð €T„ZÐ"Ñ#Ô#ð1ð 1ñ $Ô#ð1ð €T„ZÐ"Ñ#Ô#ð5ð 5ñ $Ô#ð5ðB €T„ZÐ"Ñ#Ô#ð'ð 'ñ $Ô#ð'ð, €T„ZÐ"Ñ#Ô#ð+ð +ñ $Ô#ð+ð €T„ZÐ"Ñ#Ô#ðFð Fñ $Ô#ðFð €T„ZÐ"Ñ#Ô#ð
/ð 
/ñ $Ô#ð
/ð €T„ZÐ"Ñ#Ô#ð
Oð 
Oñ $Ô#ð
Oð €T„ZÐ"Ñ#Ô#ðPð Pñ $Ô#ðPð Pð Pr   r	   Ú__main__)rS   ÚosrH   r   Úconfig_exceptionr   Úexec_providerr   Úkube_configr   ÚTestCaser	   rb   Úmainre   r   r   ú<module>rm      sÎ   ðð €€€Ø 	€	€	€	Ø €€€à Ð Ð Ð Ð Ð à -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø #Ð #Ð #Ð #Ð #Ð #ðPð Pð Pð Pð P�xÔ(ñ Pô Pð PðB ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   