From 1840193c1dbe2eac1c03c11fe8ffccb087866080 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Mon, 4 Sep 2017 08:52:51 +0900 Subject: [PATCH] AccountManager: Include ID key in exception message when already in use Change-Id: I786bf49c74b36bd314dfff81f86a3df09c341489 --- .../com/google/gerrit/acceptance/api/accounts/AccountIT.java | 5 +++-- .../com/google/gerrit/server/account/AccountManager.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java index 217281783b..eec836956c 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java @@ -580,10 +580,11 @@ public class AccountIT extends AbstractDaemonTest { @Test public void cannotAddEmailAddressUsedByAnotherAccount() throws Exception { - EmailInput input = newEmailInput("new.email@example.com"); + String email = "new.email@example.com"; + EmailInput input = newEmailInput(email); gApi.accounts().self().addEmail(input); exception.expect(ResourceConflictException.class); - exception.expectMessage("in use by another account"); + exception.expectMessage("Identity 'mailto:" + email + "' in use by another account"); gApi.accounts().id(user.username).addEmail(input); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java index 32246015aa..cafdaed6b9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java @@ -345,7 +345,8 @@ public class AccountManager { ExternalId extId = externalIds.get(who.getExternalIdKey()); if (extId != null) { if (!extId.accountId().equals(to)) { - throw new AccountException("Identity in use by another account"); + throw new AccountException( + "Identity '" + extId.key().get() + "' in use by another account"); } update(who, extId); } else {