diff --git a/tests/unit/validator/certificate-fetcher-ndns-app-cert.t.cpp b/tests/unit/validator/certificate-fetcher-ndns-app-cert.t.cpp
index ae41eeb..838532f 100644
--- a/tests/unit/validator/certificate-fetcher-ndns-app-cert.t.cpp
+++ b/tests/unit/validator/certificate-fetcher-ndns-app-cert.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2020, Regents of the University of California.
+ * Copyright (c) 2014-2023, Regents of the University of California.
  *
  * This file is part of NDNS (Named Data Networking Domain Name Service).
  * See AUTHORS.md for complete list of NDNS authors and contributors.
@@ -59,8 +59,8 @@
                                                         UNIT_TESTS_TMPDIR "/validator.conf");
     // initialize all servers
     auto addServer = [this, &serverValidator] (const Name& zoneName) {
-      m_serverFaces.push_back(make_unique<util::DummyClientFace>(m_io, m_keyChain,
-                                                                 util::DummyClientFace::Options{true, true}));
+      m_serverFaces.push_back(make_unique<DummyClientFace>(m_io, m_keyChain,
+                                                           DummyClientFace::Options{true, true}));
       m_serverFaces.back()->linkTo(m_validatorFace);
 
       // validator is used only for check update signature
@@ -106,9 +106,9 @@
   }
 
 public:
-  util::DummyClientFace m_validatorFace;
+  DummyClientFace m_validatorFace;
   unique_ptr<security::Validator> m_validator;
-  std::vector<unique_ptr<util::DummyClientFace>> m_serverFaces;
+  std::vector<unique_ptr<DummyClientFace>> m_serverFaces;
   std::vector<shared_ptr<ndns::NameServer>> m_servers;
   Data m_appCertSignedData;
 };
