mgmt+core: Moving SegmentPublisher to core/ and removing KeyChain from nfd::AppFace
This change ensures interface uniformity between nfd::AppFace and
ndn::Face and allow now templated version of SegmentPublisher to be used
with either.
Change-Id: I82e29528b13b37bd2ae27ef47db30e8c87c15a38
Refs: #1749
diff --git a/tests/core/segment-publisher.cpp b/tests/core/segment-publisher.cpp
new file mode 100644
index 0000000..627a7f0
--- /dev/null
+++ b/tests/core/segment-publisher.cpp
@@ -0,0 +1,168 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
+/**
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
+ *
+ * This file is part of NFD (Named Data Networking Forwarding Daemon).
+ * See AUTHORS.md for complete list of NFD authors and contributors.
+ *
+ * NFD is free software: you can redistribute it and/or modify it under the terms
+ * of the GNU General Public License as published by the Free Software Foundation,
+ * either version 3 of the License, or (at your option) any later version.
+ *
+ * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "core/segment-publisher.hpp"
+
+#include "tests/test-common.hpp"
+#include "tests/dummy-face.hpp"
+
+#include <ndn-cxx/encoding/tlv.hpp>
+
+#include <boost/foreach.hpp>
+
+namespace nfd {
+namespace tests {
+
+NFD_LOG_INIT("SegmentPublisherTest");
+
+template<size_t N=10000>
+class TestSegmentPublisher : public SegmentPublisher<DummyFace>
+{
+public:
+ TestSegmentPublisher(DummyFace& face,
+ const Name& prefix,
+ ndn::KeyChain& keyChain)
+ : SegmentPublisher(face, prefix, keyChain)
+ , m_totalPayloadLength(0)
+ {
+
+ }
+
+ virtual
+ ~TestSegmentPublisher()
+ {
+ }
+
+ uint16_t
+ getLimit() const
+ {
+ return N;
+ }
+
+ size_t
+ getTotalPayloadLength() const
+ {
+ return m_totalPayloadLength;
+ }
+
+protected:
+
+ virtual size_t
+ generate(ndn::EncodingBuffer& outBuffer)
+ {
+ size_t totalLength = 0;
+ for (uint64_t i = 0; i < N; i++)
+ {
+ totalLength += prependNonNegativeIntegerBlock(outBuffer, ndn::Tlv::Content, i);
+ }
+ m_totalPayloadLength += totalLength;
+ return totalLength;
+ }
+
+protected:
+ size_t m_totalPayloadLength;
+};
+
+template<size_t N>
+class SegmentPublisherFixture : public BaseFixture
+{
+public:
+ SegmentPublisherFixture()
+ : m_face(makeDummyFace())
+ , m_publisher(*m_face, "/localhost/nfd/SegmentPublisherFixture", m_keyChain)
+ {
+ }
+
+ void
+ validate(const Data& data)
+ {
+ Block payload = data.getContent();
+ NFD_LOG_DEBUG("payload size (w/o Content TLV): " << payload.value_size());
+
+ m_buffer.appendByteArray(payload.value(), payload.value_size());
+
+ uint64_t segmentNo = data.getName()[-1].toSegment();
+ if (data.getFinalBlockId() != data.getName()[-1])
+ {
+ return;
+ }
+
+ NFD_LOG_DEBUG("got final block: #" << segmentNo);
+
+ // wrap data in a single Content TLV for easy parsing
+ m_buffer.prependVarNumber(m_buffer.size());
+ m_buffer.prependVarNumber(ndn::Tlv::Content);
+
+ BOOST_TEST_CHECKPOINT("creating parser");
+ ndn::Block parser(m_buffer.buf(), m_buffer.size());
+ BOOST_TEST_CHECKPOINT("parsing aggregated response");
+ parser.parse();
+
+ BOOST_REQUIRE_EQUAL(parser.elements_size(), m_publisher.getLimit());
+
+ uint64_t expectedNo = m_publisher.getLimit() - 1;
+ for (Block::element_const_iterator i = parser.elements_begin();
+ i != parser.elements_end();
+ ++i)
+ {
+ uint64_t number = readNonNegativeInteger(*i);
+ BOOST_REQUIRE_EQUAL(number, expectedNo);
+ --expectedNo;
+ }
+ }
+
+protected:
+ shared_ptr<DummyFace> m_face;
+ TestSegmentPublisher<N> m_publisher;
+ ndn::EncodingBuffer m_buffer;
+ ndn::KeyChain m_keyChain;
+};
+
+using boost::mpl::int_;
+typedef boost::mpl::vector<int_<10000>, int_<100>, int_<10>/*, int_<0>*/ > DatasetSizes;
+
+BOOST_AUTO_TEST_SUITE(SegmentPublisher)
+
+BOOST_FIXTURE_TEST_CASE_TEMPLATE(Generate, T, DatasetSizes, SegmentPublisherFixture<T::value>)
+{
+ this->m_publisher.publish();
+ this->m_face->processEvents();
+
+ size_t nSegments = this->m_publisher.getTotalPayloadLength() /
+ this->m_publisher.getMaxSegmentSize();
+ if (this->m_publisher.getTotalPayloadLength() % this->m_publisher.getMaxSegmentSize() != 0 ||
+ nSegments == 0)
+ ++nSegments;
+
+ BOOST_CHECK_EQUAL(this->m_face->m_sentDatas.size(), nSegments);
+ BOOST_FOREACH(const Data& data, this->m_face->m_sentDatas) {
+ this->validate(data);
+ }
+}
+
+BOOST_AUTO_TEST_SUITE_END()
+
+} // namespace tests
+} // namespace nfd
diff --git a/tests/daemon/mgmt/channel-status-publisher.cpp b/tests/daemon/mgmt/channel-status-publisher.cpp
index 04625af..6d33f4d 100644
--- a/tests/daemon/mgmt/channel-status-publisher.cpp
+++ b/tests/daemon/mgmt/channel-status-publisher.cpp
@@ -39,7 +39,7 @@
public:
ChannelStatusPublisherFixture()
: m_face(make_shared<InternalFace>())
- , m_publisher(m_factories, m_face, "/localhost/nfd/faces/channels")
+ , m_publisher(m_factories, *m_face, "/localhost/nfd/faces/channels", m_keyChain)
, m_finished(false)
{
}
@@ -120,6 +120,8 @@
std::set<std::string> m_matchedEntries;
bool m_finished;
+
+ ndn::KeyChain m_keyChain;
};
BOOST_FIXTURE_TEST_SUITE(MgmtChannelStatusPublisher, ChannelStatusPublisherFixture)
diff --git a/tests/daemon/mgmt/face-manager.cpp b/tests/daemon/mgmt/face-manager.cpp
index 482330d..601724a 100644
--- a/tests/daemon/mgmt/face-manager.cpp
+++ b/tests/daemon/mgmt/face-manager.cpp
@@ -257,13 +257,14 @@
protected:
shared_ptr<InternalFace> m_face;
bool m_callbackFired;
+ ndn::KeyChain m_testKeyChain;
};
class FaceManagerFixture : public TestFaceTableFixture, public TestFaceManagerCommon
{
public:
FaceManagerFixture()
- : m_manager(m_faceTable, m_face)
+ : m_manager(m_faceTable, m_face, m_testKeyChain)
{
m_manager.setConfigFile(m_config);
}
@@ -923,7 +924,7 @@
public:
ValidatedFaceRequestFixture()
- : FaceManager(TestFaceTableFixture::m_faceTable, TestFaceManagerCommon::m_face),
+ : FaceManager(TestFaceTableFixture::m_faceTable, TestFaceManagerCommon::m_face, m_testKeyChain),
m_createFaceFired(false),
m_destroyFaceFired(false)
{
@@ -1048,7 +1049,7 @@
{
public:
LocalControlFixture()
- : FaceManager(FaceTableFixture::m_faceTable, TestFaceManagerCommon::m_face)
+ : FaceManager(FaceTableFixture::m_faceTable, TestFaceManagerCommon::m_face, m_testKeyChain)
{
}
};
@@ -1417,7 +1418,8 @@
public:
FaceFixture()
: FaceManager(FaceTableFixture::m_faceTable,
- TestFaceManagerCommon::m_face)
+ TestFaceManagerCommon::m_face,
+ m_testKeyChain)
, m_receivedNotification(false)
{
@@ -1674,7 +1676,7 @@
{
public:
FaceListFixture()
- : m_manager(m_table, m_face)
+ : m_manager(m_table, m_face, m_testKeyChain)
{
}
@@ -1687,6 +1689,7 @@
protected:
FaceManager m_manager;
+ ndn::KeyChain m_testKeyChain;
};
BOOST_FIXTURE_TEST_CASE(TestFaceList, FaceListFixture)
diff --git a/tests/daemon/mgmt/face-status-publisher-common.hpp b/tests/daemon/mgmt/face-status-publisher-common.hpp
index 3d4ff52..b2a485e 100644
--- a/tests/daemon/mgmt/face-status-publisher-common.hpp
+++ b/tests/daemon/mgmt/face-status-publisher-common.hpp
@@ -107,7 +107,7 @@
FaceStatusPublisherFixture()
: m_table(m_forwarder)
, m_face(make_shared<InternalFace>())
- , m_publisher(m_table, m_face, "/localhost/nfd/FaceStatusPublisherFixture")
+ , m_publisher(m_table, *m_face, "/localhost/nfd/FaceStatusPublisherFixture", m_keyChain)
, m_finished(false)
{
@@ -188,6 +188,7 @@
FaceStatusPublisher m_publisher;
ndn::EncodingBuffer m_buffer;
std::list<shared_ptr<Face> > m_referenceFaces;
+ ndn::KeyChain m_keyChain;
protected:
bool m_finished;
diff --git a/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp b/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
index 301d396..bfb19d9 100644
--- a/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
+++ b/tests/daemon/mgmt/fib-enumeration-publisher-common.hpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#ifndef NFD_TESTS_NFD_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
#define NFD_TESTS_NFD_MGMT_FIB_ENUMERATION_PUBLISHER_COMMON_HPP
@@ -77,7 +78,7 @@
FibEnumerationPublisherFixture()
: m_fib(m_nameTree)
, m_face(make_shared<InternalFace>())
- , m_publisher(m_fib, m_face, "/localhost/nfd/FibEnumerationPublisherFixture")
+ , m_publisher(m_fib, *m_face, "/localhost/nfd/FibEnumerationPublisherFixture", m_keyChain)
, m_finished(false)
{
}
@@ -208,6 +209,7 @@
FibEnumerationPublisher m_publisher;
ndn::EncodingBuffer m_buffer;
std::set<shared_ptr<fib::Entry> > m_referenceEntries;
+ ndn::KeyChain m_keyChain;
protected:
bool m_finished;
diff --git a/tests/daemon/mgmt/fib-enumeration-publisher.cpp b/tests/daemon/mgmt/fib-enumeration-publisher.cpp
index 3cb5849..ed330aa 100644
--- a/tests/daemon/mgmt/fib-enumeration-publisher.cpp
+++ b/tests/daemon/mgmt/fib-enumeration-publisher.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/fib-enumeration-publisher.hpp"
diff --git a/tests/daemon/mgmt/fib-manager.cpp b/tests/daemon/mgmt/fib-manager.cpp
index 2305c2c..8101cd4 100644
--- a/tests/daemon/mgmt/fib-manager.cpp
+++ b/tests/daemon/mgmt/fib-manager.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/fib-manager.hpp"
#include "table/fib.hpp"
@@ -161,7 +162,7 @@
protected:
FibManagerFixture()
- : m_manager(ref(m_fib), bind(&FibManagerFixture::getFace, this, _1), m_face)
+ : m_manager(ref(m_fib), bind(&FibManagerFixture::getFace, this, _1), m_face, m_keyChain)
, m_callbackFired(false)
{
}
@@ -171,6 +172,7 @@
std::vector<shared_ptr<Face> > m_faces;
bool m_callbackFired;
+ ndn::KeyChain m_keyChain;
};
template <typename T> class AuthorizedCommandFixture:
diff --git a/tests/daemon/mgmt/internal-face.cpp b/tests/daemon/mgmt/internal-face.cpp
index e76d80f..2215c0e 100644
--- a/tests/daemon/mgmt/internal-face.cpp
+++ b/tests/daemon/mgmt/internal-face.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/internal-face.hpp"
#include "tests/daemon/face/dummy-face.hpp"
@@ -85,6 +86,9 @@
m_noOnInterestFired = false;
}
+protected:
+ ndn::KeyChain m_keyChain;
+
private:
std::vector<shared_ptr<Face> > m_faces;
bool m_onInterestFired;
@@ -111,7 +115,7 @@
face->onReceiveData += bind(&validatePutData, ref(didPutData), dataName, _1);
Data testData(dataName);
- face->sign(testData);
+ m_keyChain.sign(testData);
face->put(testData);
BOOST_REQUIRE(didPutData);
diff --git a/tests/daemon/mgmt/manager-base.cpp b/tests/daemon/mgmt/manager-base.cpp
index 74fcb6e..58a6fd4 100644
--- a/tests/daemon/mgmt/manager-base.cpp
+++ b/tests/daemon/mgmt/manager-base.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/manager-base.hpp"
#include "mgmt/internal-face.hpp"
@@ -38,7 +39,7 @@
public:
ManagerBaseTest()
- : ManagerBase(make_shared<InternalFace>(), "TEST-PRIVILEGE"),
+ : ManagerBase(make_shared<InternalFace>(), "TEST-PRIVILEGE", m_keyChain),
m_callbackFired(false)
{
@@ -141,6 +142,7 @@
private:
bool m_callbackFired;
+ ndn::KeyChain m_keyChain;
};
diff --git a/tests/daemon/mgmt/notification-stream.cpp b/tests/daemon/mgmt/notification-stream.cpp
index 32f5a20..f64e50b 100644
--- a/tests/daemon/mgmt/notification-stream.cpp
+++ b/tests/daemon/mgmt/notification-stream.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/notification-stream.hpp"
#include "mgmt/internal-face.hpp"
@@ -80,6 +81,7 @@
const std::string m_prefix;
const std::string m_message;
uint64_t m_sequenceNo;
+ ndn::KeyChain m_keyChain;
};
BOOST_FIXTURE_TEST_SUITE(MgmtNotificationStream, NotificationStreamFixture)
@@ -115,7 +117,7 @@
BOOST_AUTO_TEST_CASE(TestPostEvent)
{
shared_ptr<InternalFace> face(make_shared<InternalFace>());
- NotificationStream notificationStream(face, "/localhost/nfd/NotificationStreamTest");
+ NotificationStream notificationStream(face, "/localhost/nfd/NotificationStreamTest", m_keyChain);
face->onReceiveData += bind(&NotificationStreamFixture::validateCallback, this, _1);
diff --git a/tests/daemon/mgmt/segment-publisher.cpp b/tests/daemon/mgmt/segment-publisher.cpp
deleted file mode 100644
index 43e4523..0000000
--- a/tests/daemon/mgmt/segment-publisher.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
- *
- * This file is part of NFD (Named Data Networking Forwarding Daemon).
- * See AUTHORS.md for complete list of NFD authors and contributors.
- *
- * NFD is free software: you can redistribute it and/or modify it under the terms
- * of the GNU General Public License as published by the Free Software Foundation,
- * either version 3 of the License, or (at your option) any later version.
- *
- * NFD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
-
-#include "mgmt/segment-publisher.hpp"
-#include "mgmt/internal-face.hpp"
-#include "mgmt/app-face.hpp"
-
-#include "tests/test-common.hpp"
-#include <ndn-cxx/encoding/tlv.hpp>
-
-namespace nfd {
-namespace tests {
-
-NFD_LOG_INIT("SegmentPublisherTest");
-
-class TestSegmentPublisher : public SegmentPublisher
-{
-public:
- TestSegmentPublisher(shared_ptr<AppFace> face,
- const Name& prefix,
- const uint64_t limit=10000)
- : SegmentPublisher(face, prefix)
- , m_limit((limit == 0)?(1):(limit))
- {
-
- }
-
- virtual
- ~TestSegmentPublisher()
- {
-
- }
-
- uint16_t
- getLimit() const
- {
- return m_limit;
- }
-
-protected:
-
- virtual size_t
- generate(ndn::EncodingBuffer& outBuffer)
- {
- size_t totalLength = 0;
- for (uint64_t i = 0; i < m_limit; i++)
- {
- totalLength += prependNonNegativeIntegerBlock(outBuffer, ndn::Tlv::Content, i);
- }
- return totalLength;
- }
-
-protected:
- const uint64_t m_limit;
-};
-
-class SegmentPublisherFixture : public BaseFixture
-{
-public:
- SegmentPublisherFixture()
- : m_face(make_shared<InternalFace>())
- , m_publisher(m_face, "/localhost/nfd/SegmentPublisherFixture")
- , m_finished(false)
- {
-
- }
-
- void
- validate(const Data& data)
- {
- Block payload = data.getContent();
- NFD_LOG_DEBUG("payload size (w/o Content TLV): " << payload.value_size());
-
- m_buffer.appendByteArray(payload.value(), payload.value_size());
-
- uint64_t segmentNo = data.getName()[-1].toSegment();
- if (data.getFinalBlockId() != data.getName()[-1])
- {
- return;
- }
-
- NFD_LOG_DEBUG("got final block: #" << segmentNo);
-
- // wrap data in a single Content TLV for easy parsing
- m_buffer.prependVarNumber(m_buffer.size());
- m_buffer.prependVarNumber(ndn::Tlv::Content);
-
- BOOST_TEST_CHECKPOINT("creating parser");
- ndn::Block parser(m_buffer.buf(), m_buffer.size());
- BOOST_TEST_CHECKPOINT("parsing aggregated response");
- parser.parse();
-
- BOOST_REQUIRE_EQUAL(parser.elements_size(), m_publisher.getLimit());
-
- uint64_t expectedNo = m_publisher.getLimit() - 1;
- for (Block::element_const_iterator i = parser.elements_begin();
- i != parser.elements_end();
- ++i)
- {
- uint64_t number = readNonNegativeInteger(*i);
- BOOST_REQUIRE_EQUAL(number, expectedNo);
- --expectedNo;
- }
- m_finished = true;
- }
-
-protected:
- shared_ptr<InternalFace> m_face;
- TestSegmentPublisher m_publisher;
- ndn::EncodingBuffer m_buffer;
-
-protected:
- bool m_finished;
-};
-
-BOOST_FIXTURE_TEST_SUITE(MgmtSegmentPublisher, SegmentPublisherFixture)
-
-BOOST_AUTO_TEST_CASE(Generate)
-{
- m_face->onReceiveData +=
- bind(&SegmentPublisherFixture::validate, this, _1);
-
- m_publisher.publish();
- BOOST_REQUIRE(m_finished);
-}
-
-BOOST_AUTO_TEST_SUITE_END()
-
-} // namespace tests
-} // namespace nfd
diff --git a/tests/daemon/mgmt/status-server.cpp b/tests/daemon/mgmt/status-server.cpp
index d9f3129..5757f46 100644
--- a/tests/daemon/mgmt/status-server.cpp
+++ b/tests/daemon/mgmt/status-server.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/status-server.hpp"
#include "fw/forwarder.hpp"
@@ -50,7 +51,8 @@
Forwarder forwarder;
shared_ptr<InternalFace> internalFace = make_shared<InternalFace>();
internalFace->onReceiveData += &interceptResponse;
- StatusServer statusServer(internalFace, ref(forwarder));
+ ndn::KeyChain keyChain;
+ StatusServer statusServer(internalFace, ref(forwarder), keyChain);
time::system_clock::TimePoint t2 = time::system_clock::now();
// populate tables
diff --git a/tests/daemon/mgmt/strategy-choice-manager.cpp b/tests/daemon/mgmt/strategy-choice-manager.cpp
index 9f6818e..587c576 100644
--- a/tests/daemon/mgmt/strategy-choice-manager.cpp
+++ b/tests/daemon/mgmt/strategy-choice-manager.cpp
@@ -1,11 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -20,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#include "mgmt/strategy-choice-manager.hpp"
#include "face/face.hpp"
@@ -49,7 +50,7 @@
StrategyChoiceManagerFixture()
: m_strategyChoice(m_forwarder.getStrategyChoice())
, m_face(make_shared<InternalFace>())
- , m_manager(m_strategyChoice, m_face)
+ , m_manager(m_strategyChoice, m_face, m_keyChain)
, m_callbackFired(false)
{
m_strategyChoice.install(make_shared<DummyStrategy>(ref(m_forwarder),
@@ -171,6 +172,7 @@
StrategyChoice& m_strategyChoice;
shared_ptr<InternalFace> m_face;
StrategyChoiceManager m_manager;
+ ndn::KeyChain m_keyChain;
private:
bool m_callbackFired;
diff --git a/tests/daemon/mgmt/strategy-choice-publisher.cpp b/tests/daemon/mgmt/strategy-choice-publisher.cpp
index b3190d4..fda3e1e 100644
--- a/tests/daemon/mgmt/strategy-choice-publisher.cpp
+++ b/tests/daemon/mgmt/strategy-choice-publisher.cpp
@@ -1,12 +1,12 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/**
- * Copyright (c) 2014 Regents of the University of California,
- * Arizona Board of Regents,
- * Colorado State University,
- * University Pierre & Marie Curie, Sorbonne University,
- * Washington University in St. Louis,
- * Beijing Institute of Technology,
- * The University of Memphis
+ * Copyright (c) 2014, Regents of the University of California,
+ * Arizona Board of Regents,
+ * Colorado State University,
+ * University Pierre & Marie Curie, Sorbonne University,
+ * Washington University in St. Louis,
+ * Beijing Institute of Technology,
+ * The University of Memphis
*
* This file is part of NFD (Named Data Networking Forwarding Daemon).
* See AUTHORS.md for complete list of NFD authors and contributors.
@@ -21,7 +21,7 @@
*
* You should have received a copy of the GNU General Public License along with
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
- **/
+ */
#ifndef NFD_TESTS_NFD_MGMT_STRATEGY_CHOICE_PUBLISHER_HPP
#define NFD_TESTS_NFD_MGMT_STRATEGY_CHOICE_PUBLISHER_HPP
@@ -46,7 +46,7 @@
StrategyChoicePublisherFixture()
: m_strategyChoice(m_forwarder.getStrategyChoice())
, m_face(make_shared<InternalFace>())
- , m_publisher(m_strategyChoice, m_face, "/localhost/nfd/strategy-choice/list")
+ , m_publisher(m_strategyChoice, *m_face, "/localhost/nfd/strategy-choice/list", m_keyChain)
, STRATEGY_A(make_shared<DummyStrategy>(boost::ref(m_forwarder),
"/localhost/nfd/strategy/dummy-strategy-a"))
, STRATEGY_B(make_shared<DummyStrategy>(boost::ref(m_forwarder),
@@ -129,6 +129,8 @@
std::set<std::string> m_matchedEntries;
bool m_finished;
+
+ ndn::KeyChain m_keyChain;
};
diff --git a/tests/rib/dummy-face.hpp b/tests/dummy-face.hpp
similarity index 87%
rename from tests/rib/dummy-face.hpp
rename to tests/dummy-face.hpp
index 4fde76f..84da29f 100644
--- a/tests/rib/dummy-face.hpp
+++ b/tests/dummy-face.hpp
@@ -23,15 +23,16 @@
* NFD, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef RIB_TESTS_UNIT_TESTS_TRANSPORT_DUMMY_FACE_HPP
-#define RIB_TESTS_UNIT_TESTS_TRANSPORT_DUMMY_FACE_HPP
+#ifndef NFD_TESTS_DUMMY_FACE_HPP
+#define NFD_TESTS_DUMMY_FACE_HPP
#include <ndn-cxx/face.hpp>
#include <ndn-cxx/transport/transport.hpp>
-namespace ndn {
+namespace nfd {
+namespace tests {
-class DummyTransport : public Transport
+class DummyTransport : public ndn::Transport
{
public:
void
@@ -58,10 +59,10 @@
virtual void
send(const Block& wire)
{
- if (wire.type() == Tlv::Interest) {
+ if (wire.type() == tlv::Interest) {
m_sentInterests->push_back(Interest(wire));
}
- else if (wire.type() == Tlv::Data) {
+ else if (wire.type() == tlv::Data) {
m_sentDatas->push_back(Data(wire));
}
}
@@ -80,7 +81,7 @@
/** \brief a Face for unit testing
*/
-class DummyFace : public Face
+class DummyFace : public ndn::Face
{
public:
explicit
@@ -115,6 +116,7 @@
return make_shared<DummyFace>(make_shared<DummyTransport>());
}
-} // namespace ndn
+} // namespace tests
+} // namespace nfd
-#endif // RIB_TESTS_UNIT_TESTS_TRANSPORT_DUMMY_FACE_HPP
+#endif // NFD_TESTS_DUMMY_FACE_HPP
diff --git a/tests/rib/rib-manager.cpp b/tests/rib/rib-manager.cpp
index b878e30..92188b1 100644
--- a/tests/rib/rib-manager.cpp
+++ b/tests/rib/rib-manager.cpp
@@ -26,7 +26,7 @@
#include "rib/rib-manager.hpp"
#include "tests/test-common.hpp"
-#include "rib/dummy-face.hpp"
+#include "tests/dummy-face.hpp"
namespace nfd {
namespace rib {
@@ -40,7 +40,7 @@
, ADD_NEXTHOP_VERB("add-nexthop")
, REMOVE_NEXTHOP_VERB("remove-nexthop")
{
- face = ndn::makeDummyFace();
+ face = nfd::tests::makeDummyFace();
manager = make_shared<RibManager>(ndn::ref(*face));
manager->registerWithNfd();
@@ -78,7 +78,7 @@
public:
shared_ptr<RibManager> manager;
- shared_ptr<ndn::DummyFace> face;
+ shared_ptr<nfd::tests::DummyFace> face;
const Name COMMAND_PREFIX;
const Name::Component ADD_NEXTHOP_VERB;