return (*ttl_);
}
-void
-TreeNodeRRset::setName(const Name&) {
- isc_throw(Unexpected, "unexpected method called on TreeNodeRRset");
-}
-
void
TreeNodeRRset::setTTL(const RRTTL&) {
isc_throw(Unexpected, "unexpected method called on TreeNodeRRset");
/// \brief Specialized version of \c getTTL() for \c TreeNodeRRset.
virtual const dns::RRTTL& getTTL() const;
- /// \brief Specialized version of \c setName() for \c TreeNodeRRset.
- ///
- /// It throws \c isc::Unexpected unconditionally.
- virtual void setName(const dns::Name& name);
-
- /// \brief Specialized version of \c setName() for \c TreeNodeRRset.
+ /// \brief Specialized version of \c setTTL() for \c TreeNodeRRset.
///
/// It throws \c isc::Unexpected unconditionally.
virtual void setTTL(const dns::RRTTL& ttl);
TreeNodeRRset rrset(rrclass_, www_node_, a_rdataset_, true);
EXPECT_THROW(rrset.setTTL(RRTTL(0)), isc::Unexpected);
- EXPECT_THROW(rrset.setName(Name("example")), isc::Unexpected);
EXPECT_THROW(rrset.addRdata(createRdata(RRType::A(), rrclass_, "0.0.0.0")),
isc::Unexpected);
RdataPtr sig_rdata = createRdata(
PyObject* RRset_getClass(PyObject* self, PyObject* args);
PyObject* RRset_getType(PyObject* self, PyObject* args);
PyObject* RRset_getTTL(PyObject* self, PyObject* args);
-PyObject* RRset_setName(PyObject* self, PyObject* args);
PyObject* RRset_setTTL(PyObject* self, PyObject* args);
PyObject* RRset_toText(PyObject* self, PyObject* args);
PyObject* RRset_str(PyObject* self);
"Returns the type of the RRset as an RRType object." },
{ "get_ttl", RRset_getTTL, METH_NOARGS,
"Returns the TTL of the RRset as an RRTTL object." },
- { "set_name", RRset_setName, METH_VARARGS,
- "Sets the name of the RRset.\nTakes a Name object as an argument." },
{ "set_ttl", RRset_setTTL, METH_VARARGS,
"Sets the TTL of the RRset.\nTakes an RRTTL object as an argument." },
{ "to_text", RRset_toText, METH_NOARGS,
return (NULL);
}
-PyObject*
-RRset_setName(PyObject* self, PyObject* args) {
- PyObject* name;
- if (!PyArg_ParseTuple(args, "O!", &name_type, &name)) {
- return (NULL);
- }
- static_cast<s_RRset*>(self)->cppobj->setName(PyName_ToName(name));
- Py_RETURN_NONE;
-}
-
PyObject*
RRset_setTTL(PyObject* self, PyObject* args) {
PyObject* rrttl;
self.assertEqual(RRTTL(0), self.rrset_a.get_ttl());
self.assertRaises(TypeError, self.rrset_a.set_ttl, 1)
- def test_set_name(self):
- self.rrset_a.set_name(self.test_nsname);
- self.assertEqual(self.test_nsname, self.rrset_a.get_name());
- self.assertRaises(TypeError, self.rrset_a.set_name, 1)
-
def test_add_rdata(self):
# no iterator to read out yet (TODO: add addition test once implemented)
return (impl_->ttl_);
}
-void
-BasicRRset::setName(const Name& name) {
- impl_->name_ = name;
-}
-
void
BasicRRset::setTTL(const RRTTL& ttl) {
impl_->ttl_ = ttl;
/// TTL of the \c RRset.
virtual const RRTTL& getTTL() const = 0;
- /// \brief Updates the owner name of the \c RRset.
- ///
- /// \param name A reference to a \c Name class object to be copied as the
- /// new name.
- virtual void setName(const Name& name) = 0;
-
/// \brief Updates the TTL of the \c RRset.
///
/// \param ttl A reference to a \c RRTTL class object to be copied as the
/// TTL of the \c RRset.
virtual const RRTTL& getTTL() const;
- /// \brief Updates the owner name of the \c RRset.
- ///
- /// This method normally does not throw an exception, but could throw
- /// some standard exception on resource allocation failure if the
- /// internal copy of the \c name involves resource allocation and it
- /// fails.
- ///
- /// \param name A reference to a \c Name class object to be copied as the
- /// new name.
- virtual void setName(const Name& name);
-
/// \brief Updates the TTL of the \c RRset.
///
/// This method never throws an exception.
/// See \c AbstractRRset::toWire(OutputBuffer&)const.
virtual unsigned int toWire(isc::util::OutputBuffer& buffer) const;
- /// \brief Updates the owner name of the \c RRset, including RRSIGs if any
- virtual void setName(const Name& n) {
- BasicRRset::setName(n);
- if (rrsig_) {
- rrsig_->setName(n);
- }
- }
-
/// \brief Updates the owner name of the \c RRset, including RRSIGs if any
virtual void setTTL(const RRTTL& ttl) {
BasicRRset::setTTL(ttl);
EXPECT_EQ(RRTTL(0), rrset_a.getTTL());
}
-TEST_F(RRsetTest, setName) {
- rrset_a.setName(test_nsname);
- EXPECT_EQ(test_nsname, rrset_a.getName());
-}
-
TEST_F(RRsetTest, isSameKind) {
RRset rrset_w(test_name, RRClass::IN(), RRType::A(), RRTTL(3600));
RRset rrset_x(test_name, RRClass::IN(), RRType::A(), RRTTL(3600));
EXPECT_EQ(2, resolver_->requests.size());
// Ask another question with different zone but the same nameserver
- authority_->setName(Name("example.com."));
+ authority_.reset(new RRset(Name("example.com."), RRClass::IN(), RRType::NS(),
+ RRTTL(128)));
+ authority_->addRdata(ConstRdataPtr
+ (new rdata::generic::NS(Name("ns.example.com."))));
nsas.lookupAndAnswer("example.com.", RRClass::IN(), authority_,
getCallback());
EXPECT_NO_THROW(resolver_->asksIPs(Name("ns.example.com."), 0, 1));
// Ask another question with different zone but the same nameserver
- authority_->setName(Name("example.com."));
+ authority_.reset(new RRset(Name("example.com."), RRClass::IN(), RRType::NS(),
+ RRTTL(128)));
+ authority_->addRdata(ConstRdataPtr
+ (new rdata::generic::NS(Name("ns.example.com."))));
nsas.lookupAndAnswer("example.com.", RRClass::IN(), authority_,
getCallback());
// When we ask one same and one other zone with the same nameserver,
// it should generate no questions and answer right away
nsas.lookup("example.net.", RRClass::IN(), getCallback());
- authority_->setName(Name("example.org."));
+ authority_.reset(new RRset(Name("example.org."), RRClass::IN(), RRType::NS(),
+ RRTTL(128)));
+ authority_->addRdata(ConstRdataPtr
+ (new rdata::generic::NS(Name("ns.example.com."))));
nsas.lookupAndAnswer("example.org.", RRClass::IN(), authority_,
getCallback());
// But when ask for a different zone with the first nameserver, it should
// ask again, as it is evicted already
- authority_->setName(Name("example.com."));
+ authority_.reset(new RRset(Name("example.com."), RRClass::IN(), RRType::NS(),
+ RRTTL(128)));
+ authority_->addRdata(ConstRdataPtr
+ (new rdata::generic::NS(Name("ns.example.com."))));
nsas.lookupAndAnswer("example.com.", RRClass::IN(), authority_,
getCallback());
EXPECT_EQ(request_count + 2, resolver_->requests.size());
EXPECT_EQ(Fetchable::NOT_ASKED, zone->getState());
resolver_->addPresetAnswer(Question(Name(EXAMPLE_CO_UK), RRClass::IN(),
RRType::NS()), rr_single_);
+
Name ns_name("ns.example.net");
- rrv4_->setName(ns_name);
+
+ rrv4_.reset(new RRset(ns_name, RRClass::IN(), RRType::A(), RRTTL(1200)));
+ rrv4_->addRdata(ConstRdataPtr(new RdataTest<A>("1.2.3.4")));
+ rrv4_->addRdata(ConstRdataPtr(new RdataTest<A>("5.6.7.8")));
+ rrv4_->addRdata(ConstRdataPtr(new RdataTest<A>("9.10.11.12")));
+
resolver_->addPresetAnswer(Question(ns_name, RRClass::IN(), RRType::A()),
rrv4_);
- rrv6_->setName(ns_name);
+
+ rrv6_.reset(new RRset(ns_name, RRClass::IN(), RRType::AAAA(), RRTTL(900)));
+ rrv6_->addRdata(ConstRdataPtr(new RdataTest<AAAA>("2001::1002")));
+ rrv6_->addRdata(ConstRdataPtr(new RdataTest<AAAA>("dead:beef:feed::")));
+
resolver_->addPresetAnswer(Question(ns_name, RRClass::IN(),
RRType::AAAA()), rrv6_);
// Reset the results