3
# Unix SMB/CIFS implementation.
4
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007-2008
6
# This program is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 3 of the License, or
9
# (at your option) any later version.
11
# This program is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
# GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License
17
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20
"""Samba Python tests."""
25
from samba.tests import TestCase, TestCaseInTempDir
27
class SubstituteVarTestCase(TestCase):
30
self.assertEquals("", samba.substitute_var("", {}))
32
def test_nothing(self):
33
self.assertEquals("foo bar",
34
samba.substitute_var("foo bar", {"bar": "bla"}))
36
def test_replace(self):
37
self.assertEquals("foo bla",
38
samba.substitute_var("foo ${bar}", {"bar": "bla"}))
40
def test_broken(self):
41
self.assertEquals("foo ${bdkjfhsdkfh sdkfh ",
42
samba.substitute_var("foo ${bdkjfhsdkfh sdkfh ", {"bar": "bla"}))
44
def test_unknown_var(self):
45
self.assertEquals("foo ${bla} gsff",
46
samba.substitute_var("foo ${bla} gsff", {"bar": "bla"}))
48
def test_check_all_substituted(self):
49
samba.check_all_substituted("nothing to see here")
50
self.assertRaises(Exception, samba.check_all_substituted,
51
"Not subsituted: ${FOOBAR}")
54
class LdbExtensionTests(TestCaseInTempDir):
56
def test_searchone(self):
57
path = self.tempdir + "/searchone.ldb"
60
l.add({"dn": "foo=dc", "bar": "bla"})
61
self.assertEquals("bla",
62
l.searchone(basedn=ldb.Dn(l, "foo=dc"), attribute="bar"))