From: Michal 'vorner' Vaner Date: Tue, 27 Nov 2012 10:34:56 +0000 (+0100) Subject: [2378] Basic test for incremental loading X-Git-Tag: bind10-1.0.0-beta-release~28^2~2^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62df1d46455dc5cef85adc07031a07fb3d0e4b6b;p=thirdparty%2Fkea.git [2378] Basic test for incremental loading --- diff --git a/src/lib/datasrc/tests/zone_loader_unittest.cc b/src/lib/datasrc/tests/zone_loader_unittest.cc index 807341358a..a02d4afe1a 100644 --- a/src/lib/datasrc/tests/zone_loader_unittest.cc +++ b/src/lib/datasrc/tests/zone_loader_unittest.cc @@ -169,4 +169,33 @@ TEST_F(ZoneLoaderTest, copyUnsigned) { EXPECT_THROW(loader.loadIncremental(0), isc::InvalidOperation); } +// Try loading incrementally. +TEST_F(ZoneLoaderTest, copyUnsignedIncremental) { + prepareSource(Name::ROOT_NAME(), "root.zone"); + ZoneLoader loader(destination_client_, Name::ROOT_NAME(), + source_client_); + + // Try loading few RRs first. + loader.loadIncremental(10); + // We should get the 10 we asked for + EXPECT_EQ(10, destination_client_.rrsets_.size()); + // Not committed yet, we didn't complete the loading + EXPECT_FALSE(destination_client_.commit_called_); + + // This is unusual, but allowed. Check it doesn't do anything + loader.loadIncremental(0); + EXPECT_EQ(10, destination_client_.rrsets_.size()); + EXPECT_FALSE(destination_client_.commit_called_); + + // We can finish the rest + loader.loadIncremental(30); + EXPECT_EQ(34, destination_client_.rrsets_.size()); + EXPECT_TRUE(destination_client_.commit_called_); + + // No more loading now + EXPECT_THROW(loader.load(), isc::InvalidOperation); + EXPECT_THROW(loader.loadIncremental(1), isc::InvalidOperation); + EXPECT_THROW(loader.loadIncremental(0), isc::InvalidOperation); +} + }