summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/scripting/python/samba/provision.py5
-rw-r--r--source4/scripting/python/samba/tests/samdb.py25
2 files changed, 23 insertions, 7 deletions
diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py
index 71c1ac3187..b7112e16c3 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -930,8 +930,9 @@ def provision(setup_dir, message, session_info,
if aci is None:
aci = "# no aci for local ldb"
- if smbconf is None:
- os.makedirs(os.path.join(targetdir, "etc"))
+ if targetdir is not None:
+ if (not os.path.exists(os.path.join(targetdir, "etc"))):
+ os.makedirs(os.path.join(targetdir, "etc"))
smbconf = os.path.join(targetdir, "etc", "smb.conf")
# only install a new smb.conf if there isn't one there already
diff --git a/source4/scripting/python/samba/tests/samdb.py b/source4/scripting/python/samba/tests/samdb.py
index 7e8ba053d4..fcf93a3fc6 100644
--- a/source4/scripting/python/samba/tests/samdb.py
+++ b/source4/scripting/python/samba/tests/samdb.py
@@ -19,12 +19,13 @@
from samba.auth import system_session
from samba.credentials import Credentials
import os
-from samba.provision import setup_samdb, guess_names, setup_templatesdb
+from samba.provision import setup_samdb, guess_names, setup_templatesdb, make_smbconf
from samba.samdb import SamDB
from samba.tests import cmdline_loadparm, TestCaseInTempDir
from samba import security
from unittest import TestCase
import uuid
+import param
class SamDBTestCase(TestCaseInTempDir):
def setUp(self):
@@ -43,9 +44,22 @@ class SamDBTestCase(TestCaseInTempDir):
hostguid = str(uuid.uuid4())
path = os.path.join(self.tempdir, "samdb.ldb")
session_info = system_session()
- names = guess_names(lp=cmdline_loadparm, hostname="foo",
- domain="EXAMPLE.COM", dnsdomain="example.com",
- serverrole="domain controller",
+
+ hostname="foo"
+ domain="EXAMPLE"
+ dnsdomain="example.com"
+ serverrole="domain controller"
+
+ smbconf = os.path.join(self.tempdir, "smb.conf")
+ make_smbconf(smbconf, setup_path, hostname, domain, dnsdomain, serverrole,
+ self.tempdir)
+
+ lp = param.LoadParm()
+ lp.load(smbconf)
+
+ names = guess_names(lp=lp, hostname=hostname,
+ domain=domain, dnsdomain=dnsdomain,
+ serverrole=severrole,
domaindn=self.domaindn, configdn=configdn,
schemadn=schemadn)
setup_templatesdb(os.path.join(self.tempdir, "templates.ldb"),
@@ -58,9 +72,10 @@ class SamDBTestCase(TestCaseInTempDir):
policyguid, False, "secret",
"secret", "secret", invocationid,
"secret", "domain controller")
+
def tearDown(self):
for f in ['templates.ldb', 'schema.ldb', 'configuration.ldb',
- 'users.ldb', 'samdb.ldb']:
+ 'users.ldb', 'samdb.ldb', 'smb.conf']:
os.remove(os.path.join(self.tempdir, f))
super(SamDBTestCase, self).tearDown()