Support anonymous account queries

Change-Id: Ie2d42ccf2e0364d740d6d190f29fe7bc7fea95ca
Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
Edwin Kempin
2016-07-04 13:21:30 +02:00
parent 70dd2163af
commit 752e684175
2 changed files with 34 additions and 3 deletions

View File

@@ -29,6 +29,7 @@ import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.lifecycle.LifecycleManager;
import com.google.gerrit.reviewdb.client.Account;
import com.google.gerrit.reviewdb.server.ReviewDb;
import com.google.gerrit.server.AnonymousUser;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.account.AccountCache;
@@ -82,6 +83,9 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
@Inject
protected IdentifiedUser.GenericFactory userFactory;
@Inject
private Provider<AnonymousUser> anonymousUser;
@Inject
protected InMemoryDatabase schemaFactory;
@@ -134,6 +138,20 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
};
}
protected void setAnonymous() {
requestContext.setContext(new RequestContext() {
@Override
public CurrentUser getUser() {
return anonymousUser.get();
}
@Override
public Provider<ReviewDb> getReviewDbProvider() {
return Providers.of(db);
}
});
}
@After
public void tearDownInjector() {
if (lifecycle != null) {
@@ -325,6 +343,16 @@ public abstract class AbstractQueryAccountsTest extends GerritServerTests {
.containsExactlyElementsIn(Arrays.asList(secondaryEmails)).inOrder();
}
@Test
public void asAnonymous() throws Exception {
AccountInfo user1 = newAccount("user1");
setAnonymous();
assertQuery("9999999");
assertQuery("self");
assertQuery("username:" + user1.username, user1);
}
protected AccountInfo newAccount(String username) throws Exception {
return newAccountWithEmail(username, null);
}