
    b                     N    d dl Z d dlZd dlmZmZ d dlmZ  G d de          ZdS )    N)PopenPIPE)NTLMAuthTestCasec                   *     e Zd Z fdZd Zd Z xZS )NTLMAuthKerberosTestsc                 .   t          t          |                                            t          j                            t          j        d         dd          | _        t          j                            t          j        d         dd          | _        d S )NSELFTEST_PREFIXktestzkrb5_ccache-2zkrb5_ccache-3)	superr   setUpospathjoinenviron
old_ccacheccache)self	__class__s    </usr/lib/python3/dist-packages/samba/tests/ntlm_auth_krb5.pyr   zNTLMAuthKerberosTests.setUp   sr    #T**00222',,rz2C'D'.A Agll2:.?#@#*O= =    c           
      ^   | j         t          j        d<   |                     dddt          j        d         dddd	
          }|                     |           | j        t          j        d<   |                     dddt          j        d         dddd	
          }|                     |           dS )z= ntlm_auth with krb5 gss-spnego-client and gss-spnego server 
KRB5CCNAMEfoosecretFOOSERVERhostzgss-spnego-client
gss-spnegoT)client_usernameclient_passwordclient_domaintarget_hostnametarget_serviceclient_helperserver_helperserver_use_winbindN)r   r   r   
run_helper
assertTruer   )r   rets     r   -test_krb5_gss_spnego_client_gss_spnego_serverzCNTLMAuthKerberosTests.test_krb5_gss_spnego_client_gss_spnego_server!   s     $(?
< ooe.6,1.0j.B-3,?,815  7 7 	#';
< ooe.6,1.0j.B-3,?,815  7 7 	r   c                 *   d| j         dd}t          | j        dddddddd	|z  g	t          t          t          
          }d}|                    |                    d                    \  }}|                     |j        d           d| j        dd}t          | j        dddddddd	|z  g	t          t          t          
          }d}|                    |                    d                    \  }}|                     |j        d           dS )z+ ntlm_auth with krb5 and an invalid keytab zFILE:.zkeytab-does-not-existsz--helper-protocolr   z--optionzsecurity=adszkerberosmethod=dedicatedkeytabzdedicatedkeytabfile=%s)stdoutstdinstderrzYR
zutf-8)inputr   N)	r   r   ntlm_auth_pathr   communicateencodeassertEqual
returncoder   )r   dedicated_keytabprocbufouterrs         r   test_krb5_invalid_keytabz.NTLMAuthKerberosTests.test_krb5_invalid_keytab:   sQ     !9!9;d))< . "B ":=M"M	O
 "d< < < %%CJJw,?,?%@@
c!,,,, 557d))< . "B ":=M"M	O
 "d< < < %%CJJw,?,?%@@
c!,,,,,r   )__name__
__module____qualname__r   r*   r;   __classcell__)r   s   @r   r   r      sV        = = = = =  2- - - - - - -r   r   )r   samba
subprocessr   r   samba.tests.ntlm_auth_baser   r    r   r   <module>rD      sx   & 
			  " " " " " " " " 7 7 7 7 7 7;- ;- ;- ;- ;-, ;- ;- ;- ;- ;-r   