diff --git a/catalog/tests/unit-tests/publish/test-publish-adapter.cpp b/catalog/tests/unit-tests/publish/test-publish-adapter.cpp
index 99d7e90..18d3a08 100644
--- a/catalog/tests/unit-tests/publish/test-publish-adapter.cpp
+++ b/catalog/tests/unit-tests/publish/test-publish-adapter.cpp
@@ -28,13 +28,11 @@
 
 namespace atmos{
 namespace tests{
-  using ndn::util::DummyClientFace;
-  using ndn::util::makeDummyClientFace;
 
   class PublishAdapterTest : public publish::PublishAdapter<std::string>
   {
   public:
-    PublishAdapterTest(const std::shared_ptr<ndn::util::DummyClientFace>& face,
+    PublishAdapterTest(std::shared_ptr<ndn::util::DummyClientFace>& face,
                        const std::shared_ptr<ndn::KeyChain>& keyChain,
                        std::shared_ptr<chronosync::Socket>& syncSocket)
       : publish::PublishAdapter<std::string>(face, keyChain, syncSocket)
@@ -109,7 +107,7 @@
   {
   public:
     PublishAdapterFixture()
-      : face(makeDummyClientFace(io))
+      : face(std::make_shared<ndn::util::DummyClientFace>(io))
       , keyChain(new ndn::KeyChain())
       , databaseTable("cmip5")
       , publishAdapterTest1(face, keyChain, syncSocket)
@@ -196,7 +194,7 @@
     }
 
   protected:
-    std::shared_ptr<DummyClientFace> face;
+    std::shared_ptr<ndn::util::DummyClientFace> face;
     std::shared_ptr<ndn::KeyChain> keyChain;
     std::shared_ptr<chronosync::Socket> syncSocket;
     std::vector<std::string> tableFields;
diff --git a/catalog/tests/unit-tests/query/test-query-adapter.cpp b/catalog/tests/unit-tests/query/test-query-adapter.cpp
index b5c0161..ac6aadd 100644
--- a/catalog/tests/unit-tests/query/test-query-adapter.cpp
+++ b/catalog/tests/unit-tests/query/test-query-adapter.cpp
@@ -28,8 +28,6 @@
 
 namespace atmos{
 namespace tests{
-  using ndn::util::DummyClientFace;
-  using ndn::util::makeDummyClientFace;
 
   class QueryAdapterTest : public query::QueryAdapter<std::string>
   {
@@ -169,7 +167,7 @@
   {
   public:
     QueryAdapterFixture()
-      : face(makeDummyClientFace(io))
+      : face(std::make_shared<ndn::util::DummyClientFace>(io))
       , keyChain(new ndn::KeyChain())
       , databaseTable("cmip5")
       , queryAdapterTest1(face, keyChain, syncSocket)
@@ -250,7 +248,7 @@
     }
 
   protected:
-    std::shared_ptr<DummyClientFace> face;
+    std::shared_ptr<ndn::util::DummyClientFace> face;
     std::shared_ptr<ndn::KeyChain> keyChain;
     std::shared_ptr<chronosync::Socket> syncSocket;
     std::string databaseTable;
