rib: put PrefixAnnouncement in Route and RibEntry

refs #4650

Change-Id: I03a846cd6e013d52f080bd7b092cd392b0284f88
diff --git a/tests/test-common.hpp b/tests/test-common.hpp
index 1a4a0d5..c01484c 100644
--- a/tests/test-common.hpp
+++ b/tests/test-common.hpp
@@ -30,6 +30,7 @@
 
 #include "core/global-io.hpp"
 
+#include <ndn-cxx/prefix-announcement.hpp>
 #include <ndn-cxx/util/time-unit-test-clock.hpp>
 
 #ifdef HAVE_PRIVILEGE_DROP_AND_ELEVATE
@@ -175,6 +176,28 @@
   packet.setName(name);
 }
 
+/** \brief create a prefix announcement without signing
+ */
+ndn::PrefixAnnouncement
+makePrefixAnn(const Name& announcedName, time::milliseconds expiration,
+              optional<ndn::security::ValidityPeriod> validity = nullopt);
+
+/** \brief create a prefix announcement without signing
+ *  \param announcedName announced name
+ *  \param expiration expiration period
+ *  \param validityFromNow validity period, relative from now
+ */
+ndn::PrefixAnnouncement
+makePrefixAnn(const Name& announcedName, time::milliseconds expiration,
+              std::pair<time::seconds, time::seconds> validityFromNow);
+
+/** \brief sign a prefix announcement
+ */
+ndn::PrefixAnnouncement
+signPrefixAnn(ndn::PrefixAnnouncement&& pa, ndn::KeyChain& keyChain,
+              const ndn::security::SigningInfo& si = ndn::KeyChain::getDefaultSigningInfo(),
+              optional<uint64_t> version = nullopt);
+
 } // namespace tests
 } // namespace nfd