From 1cf8629107daaeb47a4459913f054eccffe257c5 Mon Sep 17 00:00:00 2001 From: Edwin Kempin Date: Mon, 27 Nov 2017 09:58:13 +0100 Subject: [PATCH] CreateEmail: Trim new email This removes leading and trailing whitespace from the email. Change-Id: Ia2e70925572a07d7d5ed170a774894f2a5bf4543 Signed-off-by: Edwin Kempin --- .../google/gerrit/acceptance/rest/account/EmailIT.java | 10 ++++++++++ .../com/google/gerrit/server/account/CreateEmail.java | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EmailIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EmailIT.java index 186d6251d7..a1dc8a2cd0 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EmailIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/EmailIT.java @@ -21,6 +21,7 @@ import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.extensions.api.accounts.EmailInput; import com.google.gerrit.extensions.common.EmailInfo; +import com.google.gerrit.extensions.restapi.IdString; import com.google.gson.reflect.TypeToken; import java.util.List; import java.util.Set; @@ -46,6 +47,15 @@ public class EmailIT extends AbstractDaemonTest { assertThat(getEmails()).contains(email); } + @Test + public void addEmailWithLeadingAndTrailingWhitespace() throws Exception { + String email = "foo.bar3@example.com"; + assertThat(getEmails()).doesNotContain(email); + + createEmail(IdString.fromDecoded(" " + email + " ").encoded()); + assertThat(getEmails()).contains(email); + } + @Test public void deleteEmail() throws Exception { String email = "foo.baz@example.com"; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java index 7ff3da3477..3c8ed5024f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/CreateEmail.java @@ -70,7 +70,7 @@ public class CreateEmail implements RestModifyView this.accountManager = accountManager; this.registerNewEmailFactory = registerNewEmailFactory; this.putPreferred = putPreferred; - this.email = email; + this.email = email != null ? email.trim() : null; this.isDevMode = authConfig.getAuthType() == DEVELOPMENT_BECOME_ANY_ACCOUNT; }