]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2856] Add basic sync_reader() and remove_reader() tests
authorMukund Sivaraman <muks@isc.org>
Mon, 8 Jul 2013 12:30:58 +0000 (18:00 +0530)
committerMukund Sivaraman <muks@isc.org>
Mon, 8 Jul 2013 12:30:58 +0000 (18:00 +0530)
src/lib/python/isc/memmgr/tests/datasrc_info_tests.py

index 95057c8bc24636dda9c08b5e9e1fa809b00cf6ae..1be2c685958909178e61e6ee6c140157648e4898 100644 (file)
@@ -190,11 +190,37 @@ class TestSegmentInfo(unittest.TestCase):
         self.assertIsNone(e)
         self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.READY)
 
-    def test_sync_reader_when_ready(self):
-        self.assertRaises(SegmentInfoError, self.__sgmt_info.sync_reader, (None))
+    def test_sync_reader(self):
+        # in READY state, it must raise an exception
+        self.__si_to_ready_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.sync_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.READY)
+
+        # in UPDATING state, it must raise an exception
+        self.__si_to_updating_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.sync_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.UPDATING)
+
+        # in COPYING state, it must raise an exception
+        self.__si_to_copying_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.sync_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.COPYING)
 
-    def test_remove_reader_when_ready(self):
-        self.assertRaises(SegmentInfoError, self.__sgmt_info.remove_reader, (None))
+    def test_remove_reader(self):
+        # in READY state, it must raise an exception
+        self.__si_to_ready_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.remove_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.READY)
+
+        # in UPDATING state, it must raise an exception
+        self.__si_to_updating_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.remove_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.UPDATING)
+
+        # in COPYING state, it must raise an exception
+        self.__si_to_copying_state()
+        self.assertRaises(SegmentInfoError, self.__sgmt_info.remove_reader, (0))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.COPYING)
 
     def test_switch_versions(self):
         self.__sgmt_info.switch_versions()