Browse Source

[1179] add some tests

Jelte Jansen 13 years ago
parent
commit
03da93322b

+ 3 - 4
src/lib/python/isc/datasrc/iterator_python.cc

@@ -112,6 +112,7 @@ ZoneIterator_getNextRRset(PyObject* po_self, PyObject*) {
 
 PyObject*
 ZoneIterator_iter(PyObject *self) {
+    Py_INCREF(self);
     return (self);
 }
 
@@ -166,10 +167,8 @@ PyTypeObject zoneiterator_type = {
     NULL,                               // tp_clear
     NULL,                               // tp_richcompare
     0,                                  // tp_weaklistoffset
-    //reinterpret_cast<PyCFunction>(ZoneIterator_iter),                               // tp_iter
-    //reinterpret_cast<PyCFunction>(ZoneIterator_next),                               // tp_iternext
-    ZoneIterator_iter,
-    ZoneIterator_next,
+    ZoneIterator_iter,                  // tp_iter
+    ZoneIterator_next,                  // tp_iternext
     ZoneIterator_methods,               // tp_methods
     NULL,                               // tp_members
     NULL,                               // tp_getset

+ 13 - 0
src/lib/python/isc/datasrc/tests/datasrc_test.py

@@ -30,6 +30,10 @@ NEW_DB_FILE = TESTDATA_WRITE_PATH + "new_db.sqlite3"
 
 class DataSrcClient(unittest.TestCase):
 
+    def test_construct(self):
+        # can't construct directly
+        self.assertRaises(TypeError, isc.datasrc.ZoneIterator)
+
     def test_iterate(self):
         dsc = isc.datasrc.DataSourceClient(READ_ZONE_DB_FILE)
 
@@ -151,6 +155,10 @@ class DataSrcClient(unittest.TestCase):
 
         self.assertRaises(TypeError, dsc.get_iterator, "asdf")
 
+    def test_construct(self):
+        # can't construct directly
+        self.assertRaises(TypeError, isc.datasrc.ZoneFinder)
+
     def test_find(self):
         dsc = isc.datasrc.DataSourceClient(READ_ZONE_DB_FILE)
 
@@ -230,7 +238,12 @@ class DataSrcUpdater(unittest.TestCase):
         # Make a fresh copy of the writable database with all original content
         shutil.copyfile(READ_ZONE_DB_FILE, WRITE_ZONE_DB_FILE)
 
+    def test_construct(self):
+        # can't construct directly
+        self.assertRaises(TypeError, isc.datasrc.ZoneUpdater)
+
     def test_update_delete_commit(self):
+
         dsc = isc.datasrc.DataSourceClient(WRITE_ZONE_DB_FILE)
 
         # first make sure, through a separate finder, that some record exists