2018-08-31 12:47:11 +02:00
# Unix SMB/CIFS implementation.
#
# Copyright (C) Samuel Cabrero <scabrero@suse.de> 2018
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import os
from subprocess import Popen , PIPE
from samba . tests . ntlm_auth_base import NTLMAuthTestCase
from samba . compat import get_string
class NTLMAuthHelpersTests ( NTLMAuthTestCase ) :
2018-08-31 14:26:59 +02:00
def setUp ( self ) :
super ( NTLMAuthHelpersTests , self ) . setUp ( )
self . username = os . environ [ " DC_USERNAME " ]
self . password = os . environ [ " DC_PASSWORD " ]
self . domain = os . environ [ " DOMAIN " ]
2018-08-31 12:47:11 +02:00
def test_specified_domain ( self ) :
""" ntlm_auth with specified domain """
username = " foo "
password = " secret "
domain = " FOO "
ret = self . run_helper ( client_username = username ,
client_password = password ,
client_domain = domain ,
server_username = username ,
server_password = password ,
server_domain = domain ,
server_use_winbind = False )
self . assertTrue ( ret )
username = " foo "
password = " secret "
domain = " fOo "
ret = self . run_helper ( client_username = username ,
client_password = password ,
client_domain = domain ,
server_username = username ,
server_password = password ,
server_domain = domain ,
server_use_winbind = False )
self . assertTrue ( ret )
2018-08-31 14:26:59 +02:00
def test_agaist_winbind ( self ) :
""" ntlm_auth against winbindd """
ret = self . run_helper ( client_username = self . username ,
client_password = self . password ,
client_domain = self . domain ,
server_use_winbind = True )
self . assertTrue ( ret )
2018-08-31 16:05:34 +02:00
def test_ntlmssp_gss_spnego ( self ) :
""" ntlm_auth with NTLMSSP client and gss-spnego server """
username = " foo "
password = " secret "
domain = " fOo "
ret = self . run_helper ( client_username = username ,
client_password = password ,
client_domain = domain ,
server_username = username ,
server_password = password ,
server_domain = domain ,
client_helper = " ntlmssp-client-1 " ,
server_helper = " gss-spnego " ,
server_use_winbind = False )
self . assertTrue ( ret )
2018-08-31 16:28:37 +02:00
def test_gss_spnego ( self ) :
""" ntlm_auth with NTLMSSP gss-spnego-client and gss-spnego server """
username = " foo "
password = " secret "
domain = " fOo "
ret = self . run_helper ( client_username = username ,
client_password = password ,
client_domain = domain ,
server_username = username ,
server_password = password ,
server_domain = domain ,
client_helper = " gss-spnego-client " ,
server_helper = " gss-spnego " ,
server_use_winbind = False )
self . assertTrue ( ret )
2018-08-31 16:42:05 +02:00
def test_gss_spnego_winbind ( self ) :
""" ntlm_auth with NTLMSSP gss-spnego-client and gss-spnego server
against winbind """
ret = self . run_helper ( client_username = self . username ,
client_password = self . password ,
client_domain = self . domain ,
client_helper = " gss-spnego-client " ,
server_helper = " gss-spnego " ,
server_use_winbind = True )
self . assertTrue ( ret )