rib: put PrefixAnnouncement in Route and RibEntry

refs #4650

Change-Id: I03a846cd6e013d52f080bd7b092cd392b0284f88
diff --git a/tests/test-common.cpp b/tests/test-common.cpp
index 21cb91a..62e728a 100644
--- a/tests/test-common.cpp
+++ b/tests/test-common.cpp
@@ -126,5 +126,33 @@
   return makeNack(std::move(interest), reason);
 }
 
+ndn::PrefixAnnouncement
+makePrefixAnn(const Name& announcedName, time::milliseconds expiration,
+              optional<ndn::security::ValidityPeriod> validity)
+{
+  ndn::PrefixAnnouncement pa;
+  pa.setAnnouncedName(announcedName);
+  pa.setExpiration(expiration);
+  pa.setValidityPeriod(validity);
+  return pa;
+}
+
+ndn::PrefixAnnouncement
+makePrefixAnn(const Name& announcedName, time::milliseconds expiration,
+              std::pair<time::seconds, time::seconds> validityFromNow)
+{
+  auto now = time::system_clock::now();
+  return makePrefixAnn(announcedName, expiration,
+    ndn::security::ValidityPeriod(now + validityFromNow.first, now + validityFromNow.second));
+}
+
+ndn::PrefixAnnouncement
+signPrefixAnn(ndn::PrefixAnnouncement&& pa, ndn::KeyChain& keyChain,
+              const ndn::security::SigningInfo& si, optional<uint64_t> version)
+{
+  pa.toData(keyChain, si, version);
+  return std::move(pa);
+}
+
 } // namespace tests
 } // namespace nfd