Browse Source

Fix states in tests

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac408@3711 e5f2f494-b856-4b98-b285-d166d9295462
Michal Vaner 14 years ago
parent
commit
ae94fdd384
1 changed files with 12 additions and 13 deletions
  1. 12 13
      src/lib/nsas/tests/zone_entry_unittest.cc

+ 12 - 13
src/lib/nsas/tests/zone_entry_unittest.cc

@@ -96,8 +96,10 @@ TEST_F(ZoneEntryTest, DefaultConstructor) {
 TEST_F(ZoneEntryTest, CallbackNoNS) {
     shared_ptr<InheritedZoneEntry> zone(new InheritedZoneEntry(resolver_,
         EXAMPLE_CO_UK, RRClass::IN(), nameserver_table_, nameserver_lru_));
+    EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
     // It should accept the callback
     zone->addCallback(callback_, ANY_OK, zone);
+    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     // Ask for the nameservers
     EXPECT_NO_THROW(resolver_->provideNS(0, rr_empty_));
     // And tell imediatelly that it is unreachable (when it has no nameservers)
@@ -111,8 +113,10 @@ TEST_F(ZoneEntryTest, CallbackZeroTTL) {
     rr_single_->setTTL(RRTTL(0));
     shared_ptr<InheritedZoneEntry> zone(new InheritedZoneEntry(resolver_,
         EXAMPLE_CO_UK, RRClass::IN(), nameserver_table_, nameserver_lru_));
+    EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
     // It should accept the callback
     zone->addCallback(callback_, ANY_OK, zone);
+    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     EXPECT_NO_THROW(resolver_->provideNS(0, rr_single_));
     // It should not be answered yet, it should ask for the IP addresses
     EXPECT_TRUE(callback_->successes_.empty());
@@ -131,13 +135,15 @@ TEST_F(ZoneEntryTest, CallbacksAnswered) {
     EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
     // It should accept the callback
     zone->addCallback(callback_, ANY_OK, zone);
+    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     EXPECT_NO_THROW(resolver_->provideNS(0, rr_single_));
     // It should not be answered yet, it should ask for the IP addresses
     EXPECT_TRUE(callback_->successes_.empty());
     EXPECT_EQ(0, callback_->unreachable_count_);
     resolver_->asksIPs(ns_name_, 1, 2);
-    // We should be IN_PROGRESS
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
+    // We should be READY, as it marks we have nameservers
+    // (not that they are ready)
+    EXPECT_EQ(Fetchable::READY, zone->getState());
     // Give two more callbacks, with different address families
     zone->addCallback(callback_, V4_ONLY, zone);
     zone->addCallback(callback_, V6_ONLY, zone);
@@ -151,8 +157,6 @@ TEST_F(ZoneEntryTest, CallbacksAnswered) {
     EXPECT_TRUE(IOAddress("192.0.2.1").equal(callback_->successes_[1]));
     // None are rejected
     EXPECT_EQ(0, callback_->unreachable_count_);
-    // We are still in progress, not everything arrived
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     EXPECT_NO_THROW(resolver_->answer(2, ns_name_, RRType::AAAA(),
         rdata::in::AAAA("2001:db8::1")));
     // This should answer the third callback
@@ -177,13 +181,13 @@ TEST_F(ZoneEntryTest, CallbacksAOnly) {
     EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
     // It should accept the callback
     zone->addCallback(callback_, ANY_OK, zone);
+    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     EXPECT_NO_THROW(resolver_->provideNS(0, rr_single_));
     // It should not be answered yet, it should ask for the IP addresses
     EXPECT_TRUE(callback_->successes_.empty());
     EXPECT_EQ(0, callback_->unreachable_count_);
     resolver_->asksIPs(ns_name_, 1, 2);
-    // We should be IN_PROGRESS
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
+    EXPECT_EQ(Fetchable::READY, zone->getState());
     // Give two more callbacks, with different address families
     zone->addCallback(callback_, V4_ONLY, zone);
     zone->addCallback(callback_, V6_ONLY, zone);
@@ -192,7 +196,6 @@ TEST_F(ZoneEntryTest, CallbacksAOnly) {
     // One should be rejected, but two still stay, they have chance
     EXPECT_EQ(0, callback_->successes_.size());
     EXPECT_EQ(1, callback_->unreachable_count_);
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     // Answer the A one and see it answers what can be answered
     ASSERT_EQ(2, callback_->successes_.size());
     EXPECT_NO_THROW(resolver_->answer(1, ns_name_, RRType::A(),
@@ -223,8 +226,9 @@ TEST_F(ZoneEntryTest, CallbackTwoNS) {
     EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
     // It should accept the callback
     zone->addCallback(callback_, V4_ONLY, zone);
-    EXPECT_NO_THROW(resolver_->provideNS(0, rrns_));
     EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
+    EXPECT_NO_THROW(resolver_->provideNS(0, rrns_));
+    EXPECT_EQ(Fetchable::READY, zone->getState());
     // It asks a question (we do not know which nameserver)
     shared_ptr<Name> name;
     ASSERT_NO_THROW(name.reset(new Name((*resolver_)[1]->getName())));
@@ -233,9 +237,6 @@ TEST_F(ZoneEntryTest, CallbackTwoNS) {
     // Nothing should be answered or failed yet
     EXPECT_EQ(0, callback_->unreachable_count_);
     EXPECT_EQ(0, callback_->successes_.size());
-    // It should be still IN_PROGRESS and ask the second nameserver
-    // (at last now, if not before)
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     ASSERT_TRUE(resolver_->asksIPs((*resolver_)[3]->getName(), 3, 4));
     // Fail the second one
     resolver_->requests[3].second->failure();
@@ -243,8 +244,6 @@ TEST_F(ZoneEntryTest, CallbackTwoNS) {
     // v4 address
     EXPECT_EQ(1, callback_->unreachable_count_);
     EXPECT_EQ(0, callback_->successes_.size());
-    // We should still be IN_PROGRESS, waiting for v6
-    EXPECT_EQ(Fetchable::IN_PROGRESS, zone->getState());
     // And question for v6 or any should still wait while v4 should be failed
     // right away
     zone->addCallback(callback_, V6_ONLY, zone);