2007-12-18 20:54:19 +03:00
#!/usr/bin/python
# Unix SMB/CIFS implementation.
2008-01-25 03:37:47 +03:00
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008
2007-12-18 20:54:19 +03:00
#
# 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/>.
#
2007-12-20 01:27:31 +03:00
import os
2008-01-25 03:37:47 +03:00
from samba . provision import setup_secretsdb , secretsdb_become_dc
2007-12-20 01:27:31 +03:00
import samba . tests
from ldb import Dn
2007-12-18 20:54:19 +03:00
2007-12-20 01:27:31 +03:00
setup_dir = " setup "
2007-12-20 01:27:38 +03:00
def setup_path ( file ) :
return os . path . join ( setup_dir , file )
2007-12-20 01:27:31 +03:00
class ProvisionTestCase ( samba . tests . TestCaseInTempDir ) :
2007-12-18 20:54:19 +03:00
def test_setup_secretsdb ( self ) :
2007-12-26 01:36:44 +03:00
path = os . path . join ( self . tempdir , " secrets.ldb " )
ldb = setup_secretsdb ( path , setup_path , None , None , None )
try :
self . assertEquals ( " LSA Secrets " ,
2007-12-20 01:27:31 +03:00
ldb . searchone ( Dn ( ldb , " CN=LSA Secrets " ) , " CN " ) )
2007-12-26 01:36:44 +03:00
finally :
del ldb
os . unlink ( path )
2008-01-25 03:37:47 +03:00
def test_become_dc ( self ) :
path = os . path . join ( self . tempdir , " secrets.ldb " )
secrets_ldb = setup_secretsdb ( path , setup_path , None , None , None )
try :
secretsdb_become_dc ( secrets_ldb , setup_path , domain = " EXAMPLE " ,
realm = " example " , netbiosname = " myhost " ,
domainsid = " S-5-22 " , keytab_path = " keytab.path " ,
samdb_url = " ldap://url/ " ,
dns_keytab_path = " dns.keytab " , dnspass = " bla " ,
machinepass = " machinepass " , dnsdomain = " example.com " )
self . assertEquals ( 1 ,
len ( secrets_ldb . search ( " samAccountName=krbtgt,flatname=EXAMPLE,CN=Principals " ) ) )
finally :
del secrets_ldb
os . unlink ( path )
2007-12-18 20:54:19 +03:00
2007-12-20 01:27:31 +03:00
class Disabled :
2007-12-18 20:54:19 +03:00
def test_setup_templatesdb ( self ) :
raise NotImplementedError ( self . test_setup_templatesdb )
def test_setup_registry ( self ) :
raise NotImplementedError ( self . test_setup_registry )
def test_setup_samdb_rootdse ( self ) :
raise NotImplementedError ( self . test_setup_samdb_rootdse )
def test_setup_samdb_partitions ( self ) :
raise NotImplementedError ( self . test_setup_samdb_partitions )
def test_create_phpldapadmin_config ( self ) :
raise NotImplementedError ( self . test_create_phpldapadmin_config )
def test_provision_dns ( self ) :
raise NotImplementedError ( self . test_provision_dns )
def test_provision_ldapbase ( self ) :
raise NotImplementedError ( self . test_provision_ldapbase )
def test_provision_guess ( self ) :
raise NotImplementedError ( self . test_provision_guess )
def test_join_domain ( self ) :
raise NotImplementedError ( self . test_join_domain )
def test_vampire ( self ) :
raise NotImplementedError ( self . test_vampire )
def test_erase_partitions ( self ) :
raise NotImplementedError ( self . test_erase_partitions )