Skip to content

Commit

Permalink
tests: fix compatibility with signed Interests in v0.3 format
Browse files Browse the repository at this point in the history
Change-Id: I52bd2bfb5d9551614e2cf012b19b966d84306368
  • Loading branch information
Pesa committed Oct 14, 2022
1 parent 1954a0c commit 69904fc
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 37 deletions.
27 changes: 13 additions & 14 deletions tests/route/test-fib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,18 @@ class FibFixture : public IoKeyChainFixture
void
enableRegistrationReplyWithFaceId()
{
face.onSendInterest.connect([this] (const ndn::Interest& interest) {
static const ndn::Name localhostRegistration("/localhost/nfd/rib");
if (!localhostRegistration.isPrefixOf(interest.getName()))
face.onSendInterest.connect([this] (const auto& interest) {
if (!RIB_COMMAND_PREFIX.isPrefixOf(interest.getName()))
return;

ndn::nfd::ControlParameters params(interest.getName().get(-5).blockFromValue());
ndn::name::Component verb;
ndn::nfd::ControlParameters params;
extractRibCommandParameters(interest, verb, params);
if (!params.hasFaceId()) {
params.setFaceId(1);
}
params.setOrigin(ndn::nfd::ROUTE_ORIGIN_APP);
if (interest.getName().get(3) == ndn::name::Component("register")) {
if (verb == ndn::name::Component("register")) {
params.setCost(0);
}

Expand All @@ -79,31 +80,29 @@ class FibFixture : public IoKeyChainFixture

ndn::Data data(interest.getName());
data.setContent(resp.wireEncode());

m_keyChain.sign(data, ndn::security::SigningInfo(ndn::security::SigningInfo::SIGNER_TYPE_SHA256));

face.getIoService().post([this, data] { face.receive(data); });
});
}

static void
extractRibCommandParameters(const ndn::Interest& interest, ndn::Name::Component& verb,
ndn::nfd::ControlParameters& extractedParameters)
extractRibCommandParameters(const ndn::Interest& interest,
ndn::Name::Component& verb,
ndn::nfd::ControlParameters& params)
{
static const ndn::Name commandPrefix("/localhost/nfd/rib");

const auto& name = interest.getName();
verb = name.at(commandPrefix.size());
const auto& paramComponent = name.at(commandPrefix.size() + 1);
extractedParameters.wireDecode(paramComponent.blockFromValue());
verb = name.at(RIB_COMMAND_PREFIX.size());
params.wireDecode(name.at(RIB_COMMAND_PREFIX.size() + 1).blockFromValue());
}

private:
static inline const ndn::Name RIB_COMMAND_PREFIX{"/localhost/nfd/rib"};

ndn::Scheduler m_scheduler{m_io};

public:
ndn::util::DummyClientFace face{m_io, m_keyChain};

ConfParameter conf{face, m_keyChain};
AdjacencyList& adjacencies;
Fib fib;
Expand Down
13 changes: 5 additions & 8 deletions tests/test-common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,7 @@

#include <ndn-cxx/mgmt/nfd/control-parameters.hpp>

namespace nlsr {
namespace test {
namespace nlsr::test {

std::shared_ptr<ndn::Data>
makeData(const ndn::Name& name)
Expand All @@ -46,10 +45,9 @@ checkPrefixRegistered(const ndn::util::DummyClientFace& face, const ndn::Name& p
{
bool registerCommandEmitted = false;
for (const auto& interest : face.sentInterests) {
if (interest.getName().size() > 4 &&
interest.getName().get(3) == ndn::name::Component("register")) {
auto test = interest.getName().get(4);
ndn::nfd::ControlParameters params(test.blockFromValue());
const auto& name = interest.getName();
if (name.size() > 4 && name[3] == ndn::name::Component("register")) {
ndn::nfd::ControlParameters params(name[4].blockFromValue());
if (params.getName() == prefix) {
registerCommandEmitted = true;
break;
Expand All @@ -59,5 +57,4 @@ checkPrefixRegistered(const ndn::util::DummyClientFace& face, const ndn::Name& p
BOOST_CHECK(registerCommandEmitted);
}

} // namespace test
} // namespace nlsr
} // namespace nlsr::test
15 changes: 0 additions & 15 deletions tests/test-lsdb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,13 @@ class LsdbFixture : public IoKeyChainFixture
, conf(face, m_keyChain)
, confProcessor(conf)
, lsdb(face, m_keyChain, conf)
, REGISTER_COMMAND_PREFIX("/localhost/nfd/rib")
, REGISTER_VERB("register")
{
m_keyChain.createIdentity("/ndn/site/%C1.Router/this-router");

advanceClocks(10_ms);
face.sentInterests.clear();
}

void
extractParameters(ndn::Interest& interest, ndn::Name::Component& verb,
ndn::nfd::ControlParameters& extractedParameters)
{
const ndn::Name& name = interest.getName();
verb = name[REGISTER_COMMAND_PREFIX.size()];
const ndn::Name::Component& parameterComponent = name[REGISTER_COMMAND_PREFIX.size() + 1];
extractedParameters.wireDecode(parameterComponent.blockFromValue());
}

void
areNamePrefixListsEqual(NamePrefixList& lhs, NamePrefixList& rhs)
{
Expand Down Expand Up @@ -127,9 +115,6 @@ class LsdbFixture : public IoKeyChainFixture
DummyConfFileProcessor confProcessor;
Lsdb lsdb;

ndn::Name REGISTER_COMMAND_PREFIX;
ndn::Name::Component REGISTER_VERB;

LsdbUpdate updateTypeCheck = LsdbUpdate::INSTALLED;
std::list<ndn::Name> namesToAddCheck;
std::list<ndn::Name> namesToRemoveCheck;
Expand Down

0 comments on commit 69904fc

Please sign in to comment.