add a unittest for requester
diff --git a/tests/unit-tests/requester.t.cpp b/tests/unit-tests/requester.t.cpp
index 4b7e224..fff1e5e 100644
--- a/tests/unit-tests/requester.t.cpp
+++ b/tests/unit-tests/requester.t.cpp
@@ -19,6 +19,8 @@
  */
 
 #include <protocol-detail/error.hpp>
+#include <protocol-detail/probe.hpp>
+#include <ndn-cxx/util/io.hpp>
 #include "requester.hpp"
 #include "challenge-module.hpp"
 #include "ca-module.hpp"
@@ -56,9 +58,43 @@
   BOOST_CHECK_EQUAL(readString(firstInterest->getApplicationParameters().get(tlv_parameter_value)), "zhiyi@cs.ucla.edu");
 }
 
-BOOST_AUTO_TEST_CASE(OnProbeResponse){}
+BOOST_AUTO_TEST_CASE(OnProbeResponse){
+  auto identity = addIdentity(Name("/site"));
+  auto key = identity.getDefaultKey();
+  auto cert = key.getDefaultCertificate();
 
-BOOST_AUTO_TEST_CASE(OnProbeResponseProbeRedirection){}
+  CaProfile ca_profile;
+  ca_profile.m_probeParameterKeys.push_back("email");
+  ca_profile.m_probeParameterKeys.push_back("uid");
+  ca_profile.m_probeParameterKeys.push_back("name");
+  ca_profile.m_caPrefix = Name("/site");
+  ca_profile.m_cert = std::make_shared<security::v2::Certificate>(cert);
+
+  std::vector<Name> availableNames;
+  availableNames.push_back(Name("/site1"));
+  availableNames.push_back(Name("/site2"));
+
+  util::DummyClientFace face(io, m_keyChain, {true, true});
+  CaModule ca(face, m_keyChain, "tests/unit-tests/config-files/config-ca-5", "ca-storage-memory");
+
+  Data reply;
+  reply.setName(Name("/site/CA/PROBE"));
+  reply.setFreshnessPeriod(time::seconds(100));
+  reply.setContent(PROBE::encodeDataContent(availableNames, 3, ca.m_config.m_redirection));
+  m_keyChain.sign(reply, signingByIdentity(identity));
+
+  std::vector<Name> names, redirects;
+  Requester::onProbeResponse(reply, ca_profile, names, redirects);
+
+  // Test names and redirects are properly stored
+  BOOST_CHECK_EQUAL(names.size(), 2);
+  BOOST_CHECK_EQUAL(names[0].toUri(), "/site1");
+  BOOST_CHECK_EQUAL(names[1].toUri(), "/site2");
+
+  BOOST_CHECK_EQUAL(redirects.size(), 2);
+  BOOST_CHECK_EQUAL(security::v2::extractIdentityFromCertName(redirects[0].getPrefix(-1)), "/ndn/site1");
+  BOOST_CHECK_EQUAL(security::v2::extractIdentityFromCertName(redirects[1].getPrefix(-1)), "/ndn/site1");
+}
 
 BOOST_AUTO_TEST_CASE(ErrorHandling)
 {