diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
index 5357049..3817c3e 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/ConfigLoaderIT.java
@@ -268,7 +268,7 @@
       String resourceString = CharStreams.toString(new InputStreamReader(in, Charsets.UTF_8));
 
       PushOneCommit push =
-          pushFactory.create(admin.getIdent(), repo, "some subject", filename, resourceString);
+          pushFactory.create(admin.newIdent(), repo, "some subject", filename, resourceString);
       push.to("refs/heads/" + branchName).assertOkStatus();
     }
   }
@@ -287,7 +287,7 @@
       cfg.setString("global", null, "manifestProject", manifestNameKey.get());
       PushOneCommit push =
           pushFactory.create(
-              admin.getIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
+              admin.newIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
       push.to("refs/meta/config").assertOkStatus();
     }
   }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
index 644cf25..5ad129f 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/DownstreamCreatorIT.java
@@ -550,7 +550,7 @@
     // After we upload our config, we upload a new change to create the downstreams
     PushOneCommit.Result masterResult =
         pushFactory
-            .create(admin.getIdent(), testRepo, "subject", "filename", "echo 'Hello World!'")
+            .create(admin.newIdent(), testRepo, "subject", "filename", "echo 'Hello World!'")
             .to("refs/for/master");
     masterResult.assertOkStatus();
 
@@ -617,7 +617,7 @@
     // After we upload our config, we upload a new change to create the downstreams
     PushOneCommit.Result masterResult =
         pushFactory
-            .create(admin.getIdent(), testRepo, "subject", "filename", "echo 'Hello World!'")
+            .create(admin.newIdent(), testRepo, "subject", "filename", "echo 'Hello World!'")
             .to("refs/for/master");
     masterResult.assertOkStatus();
 
@@ -1016,7 +1016,7 @@
       String resourceString = CharStreams.toString(new InputStreamReader(in, Charsets.UTF_8));
 
       PushOneCommit push =
-          pushFactory.create(admin.getIdent(), repo, "some subject", filename, resourceString);
+          pushFactory.create(admin.newIdent(), repo, "some subject", filename, resourceString);
       push.to("refs/heads/" + branchName).assertOkStatus();
     }
   }
@@ -1037,7 +1037,7 @@
 
       PushOneCommit push =
           pushFactory.create(
-              admin.getIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
+              admin.newIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
       push.to(RefNames.REFS_CONFIG).assertOkStatus();
     }
   }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/automerger/MergeValidatorIT.java b/src/test/java/com/googlesource/gerrit/plugins/automerger/MergeValidatorIT.java
index 5936680..60001a5 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/automerger/MergeValidatorIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/automerger/MergeValidatorIT.java
@@ -56,7 +56,7 @@
       cfg.setString("automerger", "master:" + branch, "setProjects", project);
       PushOneCommit push =
           pushFactory.create(
-              admin.getIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
+              admin.newIdent(), allProjectRepo, "Subject", "automerger.config", cfg.toText());
       push.to(RefNames.REFS_CONFIG).assertOkStatus();
     }
   }
