1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-13 16:23:50 +03:00

lib/smbconf: add drop method to SMBConf

Add a drop method wrapping smbconf_drop.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
This commit is contained in:
John Mulligan
2022-04-24 08:17:53 -04:00
committed by Jeremy Allison
parent eb84f67e80
commit ff603de514
2 changed files with 28 additions and 0 deletions

View File

@@ -296,6 +296,19 @@ static PyObject *obj_create_share(py_SMBConf_Object * self, PyObject * args)
Py_RETURN_NONE;
}
static PyObject *obj_drop(py_SMBConf_Object * self,
PyObject * Py_UNUSED(ignored))
{
sbcErr err;
err = smbconf_drop(self->conf_ctx);
if (err != SBC_ERR_OK) {
py_raise_SMBConfError(err);
return NULL;
}
Py_RETURN_NONE;
}
PyDoc_STRVAR(obj_requires_messaging_doc,
"requires_messaging() -> bool\n"
"\n"
@@ -331,6 +344,10 @@ PyDoc_STRVAR(obj_create_share_doc,
"Create a new empty share in the configuration. The share\n"
"name must not exist or an error will be raised.\n");
PyDoc_STRVAR(obj_drop_doc,
"drop() -> None\n"
"Drop the entire configuration, resetting it to an empty state.\n");
static PyMethodDef py_smbconf_obj_methods[] = {
{ "requires_messaging", (PyCFunction) obj_requires_messaging,
METH_NOARGS, obj_requires_messaging_doc },
@@ -344,6 +361,8 @@ static PyMethodDef py_smbconf_obj_methods[] = {
obj_get_config_doc },
{ "create_share", (PyCFunction) obj_create_share, METH_VARARGS,
obj_create_share_doc },
{ "drop", (PyCFunction) obj_drop, METH_NOARGS,
obj_drop_doc },
{ 0 },
};

View File

@@ -131,6 +131,7 @@ class SMBConfTests(samba.tests.TestCase):
def test_create_share(self):
sconf = self.s3smbconf.init_reg(None)
sconf.drop()
sconf.create_share("alice")
sconf.create_share("bob")
names = sconf.share_names()
@@ -139,6 +140,14 @@ class SMBConfTests(samba.tests.TestCase):
self.smbconf.SMBConfError, sconf.create_share, "alice"
)
def test_create_share(self):
sconf = self.s3smbconf.init_reg(None)
sconf.drop()
sconf.create_share("alice")
sconf.drop()
names = sconf.share_names()
self.assertEqual(names, [])
if __name__ == "__main__":
import unittest