Account index: Make query matches case insensitive
Change-Id: I5b18c6eac289b7c7026eb66ec18ed9dc5b7a6cb3 Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -77,7 +77,7 @@ public class AccountField {
|
||||
// Additional values not currently added by getPersonParts.
|
||||
// TODO(dborowitz): Move to getPersonParts and remove this hack.
|
||||
if (fullName != null) {
|
||||
parts.add(fullName);
|
||||
parts.add(fullName.toLowerCase());
|
||||
}
|
||||
return parts;
|
||||
}
|
||||
|
||||
@@ -35,12 +35,12 @@ public class AccountPredicates {
|
||||
|
||||
static Predicate<AccountState> email(String email) {
|
||||
return new AccountPredicate(AccountField.EMAIL,
|
||||
AccountQueryBuilder.FIELD_EMAIL, email);
|
||||
AccountQueryBuilder.FIELD_EMAIL, email.toLowerCase());
|
||||
}
|
||||
|
||||
static Predicate<AccountState> equalsName(String name) {
|
||||
return new AccountPredicate(AccountField.NAME_PART,
|
||||
AccountQueryBuilder.FIELD_NAME, name);
|
||||
AccountQueryBuilder.FIELD_NAME, name.toLowerCase());
|
||||
}
|
||||
|
||||
public static Predicate<AccountState> isActive() {
|
||||
@@ -53,7 +53,7 @@ public class AccountPredicates {
|
||||
|
||||
static Predicate<AccountState> username(String username) {
|
||||
return new AccountPredicate(AccountField.USERNAME,
|
||||
AccountQueryBuilder.FIELD_USERNAME, username);
|
||||
AccountQueryBuilder.FIELD_USERNAME, username.toLowerCase());
|
||||
}
|
||||
|
||||
static class AccountPredicate extends IndexPredicate<AccountState> {
|
||||
|
||||
@@ -171,6 +171,9 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
|
||||
AccountInfo user4 =
|
||||
newAccountWithEmail("user4", prefix + "user4@example.com");
|
||||
|
||||
AccountInfo user5 =
|
||||
newAccountWithEmail("user5", name("user5MixedCase@example.com"));
|
||||
|
||||
assertQuery("notexisting@test.com");
|
||||
|
||||
assertQuery(currentUserInfo.email, currentUserInfo);
|
||||
@@ -182,6 +185,10 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
|
||||
assertQuery(domain, user2, user3);
|
||||
|
||||
assertQuery("email:" + prefix, user4);
|
||||
|
||||
assertQuery(user5.email, user5);
|
||||
assertQuery("email:" + user5.email, user5);
|
||||
assertQuery("email:" + user5.email.toUpperCase(), user5);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -193,6 +200,7 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
|
||||
|
||||
assertQuery(user1.username, user1);
|
||||
assertQuery("username:" + user1.username, user1);
|
||||
assertQuery("username:" + user1.username.toUpperCase(), user1);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -224,8 +232,14 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
|
||||
assertQuery("name:" + quote(user1.name), user1);
|
||||
assertQuery("John", user1);
|
||||
assertQuery("john", user1);
|
||||
assertQuery("Doe", user1);
|
||||
assertQuery("doe", user1);
|
||||
assertQuery("DOE", user1);
|
||||
assertQuery("name:John", user1);
|
||||
assertQuery("name:john", user1);
|
||||
assertQuery("name:Doe", user1);
|
||||
assertQuery("name:doe", user1);
|
||||
assertQuery("name:DOE", user1);
|
||||
|
||||
assertQuery(quote(user2.name), user2);
|
||||
assertQuery("name:" + quote(user2.name), user2);
|
||||
|
||||
Reference in New Issue
Block a user