BOOST_FIXTURE_TEST_CASE(TestValidQueryFilter, FaceQueryListFixture) { Name queryName("/localhost/nfd/faces/query"); ndn::nfd::FaceQueryFilter queryFilter; queryFilter.setUriScheme("dummy"); queryName.append(queryFilter.wireEncode()); shared_ptr<Interest> query(make_shared<Interest>(queryName)); // add expected faces shared_ptr<DummyLocalFace> expectedFace1(make_shared<DummyLocalFace>()); m_referenceFaces.push_back(expectedFace1); add(expectedFace1); shared_ptr<DummyFace> expectedFace2(make_shared<DummyFace>()); m_referenceFaces.push_back(expectedFace2); add(expectedFace2); // add other faces shared_ptr<DummyFace> face1(make_shared<DummyFace>("udp://", "udp://")); add(face1); shared_ptr<DummyLocalFace> face2(make_shared<DummyLocalFace>("tcp://", "tcp://")); add(face2); m_face->onReceiveData += bind(&FaceQueryStatusPublisherFixture::decodeFaceStatusBlock, this, _1); m_manager.listQueriedFaces(*query); BOOST_REQUIRE(m_finished); }
virtual const char* getSampleValue(StringBuffer& out) { const char* s = getFixedValue(); if (s) return out.append(s).str(); out.appendf("[@%s]", queryName()); return out.str(); }
BOOST_FIXTURE_TEST_CASE(TestInvalidQueryFilter, FaceQueryListFixture) { Name queryName("/localhost/nfd/faces/query"); ndn::nfd::FaceStatus queryFilter; queryName.append(queryFilter.wireEncode()); shared_ptr<Interest> query(make_shared<Interest>(queryName)); shared_ptr<DummyLocalFace> face(make_shared<DummyLocalFace>()); add(face); m_face->onReceiveData += bind(&FaceQueryStatusPublisherFixture::decodeNackBlock, this, _1); m_manager.listQueriedFaces(*query); BOOST_REQUIRE(m_finished); }
void FaceIdFetcher::onCanonizeSuccess(const FaceUri& canonicalUri) { ndn::Name queryName("/localhost/nfd/faces/query"); ndn::nfd::FaceQueryFilter queryFilter; queryFilter.setRemoteUri(canonicalUri.toString()); queryName.append(queryFilter.wireEncode()); ndn::Interest interestPacket(queryName); interestPacket.setMustBeFresh(true); interestPacket.setInterestLifetime(time::milliseconds(4000)); auto interest = std::make_shared<ndn::Interest>(interestPacket); ndn::util::SegmentFetcher::fetch( m_face, *interest, m_validator, bind(&FaceIdFetcher::onQuerySuccess, this, _1, canonicalUri), bind(&FaceIdFetcher::onQueryFailure, this, _1, canonicalUri)); }