[svn] commit: r2870 - in /branches/trac232/src/lib/datasrc/python: libdata_source_python.cc tests/data_source_python_test.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Sep 8 16:16:09 UTC 2010
Author: jelte
Date: Wed Sep 8 16:16:09 2010
New Revision: 2870
Log:
delZone wrapper
Modified:
branches/trac232/src/lib/datasrc/python/libdata_source_python.cc
branches/trac232/src/lib/datasrc/python/tests/data_source_python_test.py
Modified: branches/trac232/src/lib/datasrc/python/libdata_source_python.cc
==============================================================================
--- branches/trac232/src/lib/datasrc/python/libdata_source_python.cc (original)
+++ branches/trac232/src/lib/datasrc/python/libdata_source_python.cc Wed Sep 8 16:16:09 2010
@@ -85,6 +85,7 @@
static PyObject* DataSrc_rollbackTransaction(s_DataSrc* self, PyObject* args);
static PyObject* DataSrc_addRRset(s_DataSrc* self, PyObject* args);
static PyObject* DataSrc_delRRset(s_DataSrc* self, PyObject* args);
+static PyObject* DataSrc_delZone(s_DataSrc* self, PyObject* args);
static PyMethodDef DataSrc_methods[] = {
{ "get_class", reinterpret_cast<PyCFunction>(DataSrc_getClass), METH_NOARGS,
@@ -116,6 +117,8 @@
"Add an RRset" },
{ "del_rrset", reinterpret_cast<PyCFunction>(DataSrc_delRRset), METH_VARARGS,
"Delete an RRset" },
+ { "del_zone", reinterpret_cast<PyCFunction>(DataSrc_delZone), METH_VARARGS,
+ "Delete an entire zone" },
{ NULL, NULL, 0, NULL }
};
@@ -846,6 +849,22 @@
}
+static PyObject*
+DataSrc_delZone(s_DataSrc* self, PyObject* args) {
+ s_DataSrcTransaction *transaction;
+
+ if (PyArg_ParseTuple(args, "O!",
+ &datasrc_transaction_type, &transaction)) {
+
+ PyObject* result = Py_BuildValue("I",
+ self->datasrc->delZone(
+ *(transaction->datasrc_transaction)));
+ return result;
+ }
+ return (NULL);
+
+}
+
//
// Transaction objects
//
Modified: branches/trac232/src/lib/datasrc/python/tests/data_source_python_test.py
==============================================================================
--- branches/trac232/src/lib/datasrc/python/tests/data_source_python_test.py (original)
+++ branches/trac232/src/lib/datasrc/python/tests/data_source_python_test.py Wed Sep 8 16:16:09 2010
@@ -318,6 +318,25 @@
self.assertEqual(DataSrc.SUCCESS, n);
self.assertEqual(0, len(result))
+ def test_del_zone(self):
+ transaction = DataSrcTransaction(self.ds, Name("example.com"), RRClass.IN())
+ result = self.ds.start_transaction(transaction)
+
+ self.assertEqual(DataSrc.T_SUCCESS, result)
+ result = self.ds.del_zone(transaction)
+ self.assertEqual(DataSrc.T_SUCCESS, result)
+ result = self.ds.commit_transaction(transaction)
+ self.assertEqual(DataSrc.T_SUCCESS, result)
+
+ result = []
+ n = self.ds.find_rrset(Name("www.example.com"), RRClass.IN(), RRType.A(), result, 0, Name("example.com"))
+ self.assertEqual(DataSrc.SUCCESS, n);
+ self.assertEqual(0, len(result))
+
+ transaction = DataSrcTransaction(self.ds, Name("example.com"), RRClass.IN())
+ result = self.ds.start_transaction(transaction)
+ self.assertEqual(DataSrc.T_NO_SUCH_ZONE, result)
+
# helper functions for tests taken from c++ unittests
if "TESTDATA_PATH" in os.environ:
More information about the bind10-changes
mailing list