Browse Source

[2207] Tests for the zone updater

Doesn't compile, there's no (not even empty) implementation of many
methods of the updater.
Michal 'vorner' Vaner 12 years ago
parent
commit
e70da63e4a
2 changed files with 20 additions and 2 deletions
  1. 19 2
      src/lib/datasrc/memory/zone_updater.h
  2. 1 0
      src/lib/datasrc/tests/memory/Makefile.am

+ 19 - 2
src/lib/datasrc/memory/zone_updater.h

@@ -79,7 +79,23 @@ public:
 // TODO: Fully define this. It is supposed to be passed to the install_action
 // callback, but what does it actually represent? Is it the actuall zone data
 // there?
-class ZoneSegment {};
+//
+// The current interface is temporary, so the tests work. It will probably
+// change (and we may even fold this class to some other, because there
+// seem to be too many classes around holding zone already).
+//
+// FIXME: Who is responsible for releasing of the segment itself?
+class ZoneSegment {
+public:
+    explicit ZoneSegment(ZoneData* data) :
+        data_(data)
+    {}
+    ZoneData* getZoneData() {
+        return (data_);
+    }
+private:
+    ZoneData* data_;
+};
 // TODO: Somehow specify what the ID is
 class ZoneSegmentID {};
 
@@ -98,7 +114,8 @@ typedef boost::function<void(ZoneData*)> LoadAction;
 ///
 /// Upon successful completion, the ownership of the new zone is passed
 /// to the callback and the old to the updater.
-typedef boost::function<ZoneData* (ZoneSegmentID, ZoneSegment*)> InstallAction;
+typedef boost::function<ZoneData* (const ZoneSegmentID&,
+                                   ZoneSegment*)> InstallAction;
 
 /// \brief Updater implementation which loads data locally.
 ///

+ 1 - 0
src/lib/datasrc/tests/memory/Makefile.am

@@ -33,6 +33,7 @@ run_unittests_SOURCES += memory_segment_test.h
 run_unittests_SOURCES += segment_object_holder_unittest.cc
 run_unittests_SOURCES += memory_client_unittest.cc
 run_unittests_SOURCES += zone_table_segment_unittest.cc
+run_unittests_SOURCES += zone_updater_unittest.cc
 
 run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
 run_unittests_LDFLAGS  = $(AM_LDFLAGS)  $(GTEST_LDFLAGS)