[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