diff --git a/tests/integrated/command-fixture.cpp b/tests/integrated/command-fixture.cpp
index be800e2..1680dad 100644
--- a/tests/integrated/command-fixture.cpp
+++ b/tests/integrated/command-fixture.cpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2017, Regents of the University of California.
  *
  * This file is part of NDN repo-ng (Next generation of NDN repository).
@@ -25,9 +25,11 @@
 CommandFixture::CommandFixture()
   : scheduler(repoFace.getIoService())
   , keyChain(m_keyChain)
+  , validator(repoFace)
 {
   this->saveIdentityCertificate(keyChain.getPib().getDefaultIdentity().getName(),
                                 "tests/integrated/insert-delete-test.cert");
+  validator.load("tests/integrated/insert-delete-validator-config.conf");
 }
 
 } // namespace tests
diff --git a/tests/integrated/command-fixture.hpp b/tests/integrated/command-fixture.hpp
index 341e00c..fa2fdd9 100644
--- a/tests/integrated/command-fixture.hpp
+++ b/tests/integrated/command-fixture.hpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2017, Regents of the University of California.
  *
  * This file is part of NDN repo-ng (Next generation of NDN repository).
@@ -37,7 +37,7 @@
   KeyChain& keyChain;
 
   /// \todo #4091 switch to ValidatorPolicyConf and load insert-delete-validator-config.conf
-  ndn::ValidatorNull validator;
+  ValidatorConfig validator;
 };
 
 } // namespace tests
diff --git a/tests/unit/index.cpp b/tests/unit/index.cpp
index 7a04c36..6f255a2 100644
--- a/tests/unit/index.cpp
+++ b/tests/unit/index.cpp
@@ -1,5 +1,5 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
+/*
  * Copyright (c) 2014-2017, Regents of the University of California.
  *
  * This file is part of NDN repo-ng (Next generation of NDN repository).
@@ -18,16 +18,18 @@
  */
 
 #include "storage/index.hpp"
-#include <ndn-cxx/security/signing-helpers.hpp>
-#include <ndn-cxx/util/crypto.hpp>
-#include <ndn-cxx/util/random.hpp>
 
 #include "../sqlite-fixture.hpp"
 #include "../dataset-fixtures.hpp"
 
+#include <iostream>
+
+#include <ndn-cxx/security/signing-helpers.hpp>
+#include <ndn-cxx/util/sha256.hpp>
+#include <ndn-cxx/util/random.hpp>
+
 #include <boost/mpl/push_back.hpp>
 #include <boost/test/unit_test.hpp>
-#include <iostream>
 
 namespace repo {
 namespace tests {
@@ -256,9 +258,9 @@
   Name n2 = insert(2, "ndn:/A");
   insert(3, "ndn:/A/B");
 
-  uint8_t digest00[ndn::crypto::SHA256_DIGEST_SIZE];
+  uint8_t digest00[ndn::util::Sha256::DIGEST_SIZE];
   std::fill_n(digest00, sizeof(digest00), 0x00);
-  uint8_t digestFF[ndn::crypto::SHA256_DIGEST_SIZE];
+  uint8_t digestFF[ndn::util::Sha256::DIGEST_SIZE];
   std::fill_n(digestFF, sizeof(digestFF), 0xFF);
 
   Exclude excludeDigest;
