blob: 953d9eca82de39084cb21998e0fe501e87f111df [file] [log] [blame]
Nick Gordond5c1a372016-10-31 13:56:23 -05001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
Ashlesh Gawande7a231c02020-06-12 20:06:44 -07002/*
Junxiao Shi43f37a02023-08-09 00:09:00 +00003 * Copyright (c) 2014-2023, The University of Memphis,
Nick Gordond5c1a372016-10-31 13:56:23 -05004 * Regents of the University of California
5 *
6 * This file is part of NLSR (Named-data Link State Routing).
7 * See AUTHORS.md for complete list of NLSR authors and contributors.
8 *
9 * NLSR is free software: you can redistribute it and/or modify it under the terms
10 * of the GNU General Public License as published by the Free Software Foundation,
11 * either version 3 of the License, or (at your option) any later version.
12 *
13 * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
14 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>.
Ashlesh Gawande7a231c02020-06-12 20:06:44 -070019 */
Nick Gordond5c1a372016-10-31 13:56:23 -050020
Davide Pesavento8de8a8b2022-05-12 01:26:43 -040021#include "tests/test-common.hpp"
22
23#include <ndn-cxx/mgmt/nfd/control-parameters.hpp>
Nick Gordond5c1a372016-10-31 13:56:23 -050024
Davide Pesavento69904fc2022-10-14 09:45:34 -040025namespace nlsr::test {
Nick Gordond5c1a372016-10-31 13:56:23 -050026
Davide Pesavento8de8a8b2022-05-12 01:26:43 -040027std::shared_ptr<ndn::Data>
28makeData(const ndn::Name& name)
29{
30 auto data = std::make_shared<ndn::Data>(name);
31 return signData(data);
32}
33
Nick Gordond5c1a372016-10-31 13:56:23 -050034ndn::Data&
35signData(ndn::Data& data)
36{
Davide Pesavento8de8a8b2022-05-12 01:26:43 -040037 data.setSignatureInfo(ndn::SignatureInfo(ndn::tlv::NullSignature));
38 data.setSignatureValue(std::make_shared<ndn::Buffer>());
Nick Gordond5c1a372016-10-31 13:56:23 -050039 data.wireEncode();
Nick Gordond5c1a372016-10-31 13:56:23 -050040 return data;
41}
42
Saurab Dulal427e0122019-11-28 11:58:02 -060043void
Junxiao Shi43f37a02023-08-09 00:09:00 +000044checkPrefixRegistered(const ndn::DummyClientFace& face, const ndn::Name& prefix)
Saurab Dulal427e0122019-11-28 11:58:02 -060045{
46 bool registerCommandEmitted = false;
47 for (const auto& interest : face.sentInterests) {
Davide Pesavento69904fc2022-10-14 09:45:34 -040048 const auto& name = interest.getName();
49 if (name.size() > 4 && name[3] == ndn::name::Component("register")) {
50 ndn::nfd::ControlParameters params(name[4].blockFromValue());
Saurab Dulal427e0122019-11-28 11:58:02 -060051 if (params.getName() == prefix) {
52 registerCommandEmitted = true;
53 break;
54 }
55 }
56 }
57 BOOST_CHECK(registerCommandEmitted);
58}
59
Davide Pesavento69904fc2022-10-14 09:45:34 -040060} // namespace nlsr::test