diff --git a/tests/identity-management-fixture.hpp b/tests/identity-management-fixture.hpp
index 82545f9..53b68f5 100644
--- a/tests/identity-management-fixture.hpp
+++ b/tests/identity-management-fixture.hpp
@@ -22,7 +22,6 @@
 #ifndef NDN_TESTS_IDENTITY_MANAGEMENT_FIXTURE_HPP
 #define NDN_TESTS_IDENTITY_MANAGEMENT_FIXTURE_HPP
 
-#include "security/v1/key-chain.hpp"
 #include "security/v2/key-chain.hpp"
 #include "security/signing-helpers.hpp"
 
@@ -52,57 +51,11 @@
  *
  * Test cases in the suite can use this fixture to create identities.  Identities,
  * certificates, and saved certificates are automatically removed during test teardown.
- *
- * @deprecated Use IdentityManagementV2Fixture
  */
-class IdentityManagementV1Fixture : public IdentityManagementBaseFixture
+class IdentityManagementFixture : public IdentityManagementBaseFixture
 {
 public:
-  ~IdentityManagementV1Fixture();
-
-  /**
-   * @brief Add identity
-   * @return name of the created self-signed certificate
-   */
-  Name
-  addIdentity(const Name& identity, const KeyParams& params = security::v1::KeyChain::DEFAULT_KEY_PARAMS);
-
-  /**
-   *  @brief save identity certificate to a file
-   *  @param identity certificate name
-   *  @param filename file name, should be writable
-   *  @return whether successful
-   */
-  bool
-  saveIdentityCertificate(const Name& certName, const std::string& filename);
-
-  /**
-   * @brief issue a certificate for \p subIdentity signed by \p issuer
-   *
-   *  If identity does not exist, it is created.
-   *  A new key is generated as the default key for identity.
-   *  A default certificate for the key is signed by the issuer using its default certificate.
-   *
-   *  @return whether success
-   */
-  bool
-  addSubCertificate(const Name& subIdentity, const Name& issuer,
-                    const KeyParams& params = security::v1::KeyChain::DEFAULT_KEY_PARAMS);
-
-protected:
-  security::v1::KeyChain m_keyChain;
-};
-
-/**
- * @brief A test suite level fixture to help with identity management
- *
- * Test cases in the suite can use this fixture to create identities.  Identities,
- * certificates, and saved certificates are automatically removed during test teardown.
- */
-class IdentityManagementV2Fixture : public IdentityManagementBaseFixture
-{
-public:
-  IdentityManagementV2Fixture();
+  IdentityManagementFixture();
 
   /**
    * @brief Add identity @p identityName
@@ -140,11 +93,9 @@
   addCertificate(const security::Key& key, const std::string& issuer);
 
 protected:
-  security::v2::KeyChain m_keyChain;
+  KeyChain m_keyChain;
 };
 
-using IdentityManagementFixture = IdentityManagementV2Fixture;
-
 } // namespace tests
 } // namespace ndn
 
