EXPECT_THROW(client_->add(Name("example.org"), rrset_a), DataSourceError);
}
+TEST_F(MemoryClientTest, add) {
+ client_->load(Name("example.org"), TEST_DATA_DIR "/example.org-empty.zone");
+
+ // Add another RRset
+ RRsetPtr rrset_a(new RRset(Name("example.org"), RRClass::IN(), RRType::A(),
+ RRTTL(300)));
+ rrset_a->addRdata(rdata::in::A("192.0.2.1"));
+ client_->add(Name("example.org"), rrset_a);
+
+ ZoneIteratorPtr iterator(client_->getIterator(Name("example.org")));
+
+ // First we have the SOA
+ ConstRRsetPtr rrset(iterator->getNextRRset());
+ EXPECT_TRUE(rrset);
+ EXPECT_EQ(RRType::A(), rrset->getType());
+
+ rrset = iterator->getNextRRset();
+ EXPECT_TRUE(rrset);
+ EXPECT_EQ(RRType::SOA(), rrset->getType());
+
+ // There's nothing else in this zone
+ EXPECT_EQ(ConstRRsetPtr(), iterator->getNextRRset());
+}
+
TEST_F(MemoryClientTest, getUpdaterThrowsNotImplemented) {
// This method is not implemented.
EXPECT_THROW(client_->getUpdater(Name("."), false, false),