diff --git a/tests/tools/mock-nfd-mgmt-fixture.hpp b/tests/tools/mock-nfd-mgmt-fixture.hpp
index 8f052eb..ede5568 100644
--- a/tests/tools/mock-nfd-mgmt-fixture.hpp
+++ b/tests/tools/mock-nfd-mgmt-fixture.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -204,7 +204,7 @@
   }
 
 protected:
-  ndn::util::DummyClientFace face;
+  ndn::DummyClientFace face;
   std::function<void(const Interest&)> processInterest;
 };
 
diff --git a/tests/tools/ndn-autoconfig-server/program.t.cpp b/tests/tools/ndn-autoconfig-server/program.t.cpp
index c70cedd..ee99740 100644
--- a/tests/tools/ndn-autoconfig-server/program.t.cpp
+++ b/tests/tools/ndn-autoconfig-server/program.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022,  Regents of the University of California,
+ * Copyright (c) 2014-2023,  Regents of the University of California,
  *                           Arizona Board of Regents,
  *                           Colorado State University,
  *                           University Pierre & Marie Curie, Sorbonne University,
@@ -46,7 +46,7 @@
   }
 
 protected:
-  util::DummyClientFace face{{true, true}};
+  DummyClientFace face{{true, true}};
   unique_ptr<Program> program;
 };
 
@@ -88,12 +88,11 @@
   }
   this->initialize(options);
 
-  util::DummyClientFace clientFace(face.getIoService());
+  DummyClientFace clientFace(face.getIoService());
   clientFace.linkTo(face);
 
   Name baseName("/localhop/nfd/rib/routable-prefixes");
-  auto fetcher = util::SegmentFetcher::start(clientFace, Interest(baseName),
-                                             security::getAcceptAllValidator());
+  auto fetcher = SegmentFetcher::start(clientFace, Interest(baseName), security::getAcceptAllValidator());
   fetcher->afterSegmentReceived.connect([baseName] (const Data& data) {
     const Name& dataName = data.getName();
     BOOST_CHECK_EQUAL(dataName.size(), baseName.size() + 2);
diff --git a/tests/tools/nfdc/status-report.t.cpp b/tests/tools/nfdc/status-report.t.cpp
index 04b9b86..dcf797c 100644
--- a/tests/tools/nfdc/status-report.t.cpp
+++ b/tests/tools/nfdc/status-report.t.cpp
@@ -149,7 +149,7 @@
   }
 
 protected:
-  ndn::util::DummyClientFace face;
+  ndn::DummyClientFace face;
   ValidatorNull validator;
   ndn::nfd::Controller controller;
   StatusReportTester report;
