interest: update toUri() for packet format v0.3
Refs: #4709
Change-Id: Id8c6fee0e8d2ad4e9d267854cdf0f41bb46f453a
diff --git a/tests/unit/interest.t.cpp b/tests/unit/interest.t.cpp
index ebbff4a..e253ff5 100644
--- a/tests/unit/interest.t.cpp
+++ b/tests/unit/interest.t.cpp
@@ -748,6 +748,39 @@
BOOST_CHECK_EQUAL(i.isParametersDigestValid(), true);
}
+BOOST_AUTO_TEST_CASE(ToUri)
+{
+ Interest i;
+ i.setCanBePrefix(false);
+ BOOST_CHECK_EQUAL(i.toUri(), "/");
+
+ i.setName("/foo");
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo");
+
+ i.setCanBePrefix(true);
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo?CanBePrefix");
+
+ i.setMustBeFresh(true);
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo?CanBePrefix&MustBeFresh");
+
+ i.setNonce(1234);
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo?CanBePrefix&MustBeFresh&Nonce=1234");
+
+ i.setInterestLifetime(2_s);
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo?CanBePrefix&MustBeFresh&Nonce=1234&Lifetime=2000");
+
+ i.setHopLimit(18);
+ BOOST_CHECK_EQUAL(i.toUri(), "/foo?CanBePrefix&MustBeFresh&Nonce=1234&Lifetime=2000&HopLimit=18");
+
+ i.setCanBePrefix(false);
+ i.setMustBeFresh(false);
+ i.setHopLimit(nullopt);
+ i.setApplicationParameters("2402CAFE"_block);
+ BOOST_CHECK_EQUAL(i.toUri(),
+ "/foo/params-sha256=8621f5e8321f04104640c8d02877d7c5142cad6e203c5effda1783b1a0e476d6"
+ "?Nonce=1234&Lifetime=2000");
+}
+
BOOST_AUTO_TEST_SUITE_END() // TestInterest
} // namespace tests