Factor admin account and getChange method into AbstractDaemonTest
Change-Id: I04d81aeca4e603a7b459f4360e8ecaef63fa0bd2
This commit is contained in:
		@@ -14,9 +14,17 @@
 | 
			
		||||
 | 
			
		||||
package com.google.gerrit.acceptance;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.server.OutputFormat;
 | 
			
		||||
import com.google.gson.Gson;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.common.base.Joiner;
 | 
			
		||||
import com.google.gerrit.common.changes.ListChangesOption;
 | 
			
		||||
import com.google.gerrit.server.OutputFormat;
 | 
			
		||||
import com.google.gerrit.server.change.ChangeJson.ChangeInfo;
 | 
			
		||||
import com.google.gson.Gson;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.eclipse.jgit.errors.ConfigInvalidException;
 | 
			
		||||
import org.eclipse.jgit.lib.Config;
 | 
			
		||||
import org.junit.Rule;
 | 
			
		||||
@@ -27,7 +35,12 @@ import org.junit.runners.model.Statement;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public abstract class AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  protected AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  protected GerritServer server;
 | 
			
		||||
  protected TestAccount admin;
 | 
			
		||||
  protected RestSession adminSession;
 | 
			
		||||
 | 
			
		||||
  @Rule
 | 
			
		||||
  public TestRule testRunner = new TestRule() {
 | 
			
		||||
@@ -65,6 +78,9 @@ public abstract class AbstractDaemonTest {
 | 
			
		||||
  private void beforeTest(Config cfg, boolean memory) throws Exception {
 | 
			
		||||
    server = startServer(cfg, memory);
 | 
			
		||||
    server.getTestInjector().injectMembers(this);
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    adminSession = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected GerritServer startServer(Config cfg, boolean memory) throws Exception {
 | 
			
		||||
@@ -75,6 +91,19 @@ public abstract class AbstractDaemonTest {
 | 
			
		||||
    server.stop();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected ChangeInfo getChange(String changeId, ListChangesOption... options)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    return getChange(adminSession, changeId, options);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected ChangeInfo getChange(RestSession session, String changeId,
 | 
			
		||||
      ListChangesOption... options) throws IOException {
 | 
			
		||||
    String q = options.length > 0 ? "?o=" + Joiner.on("&o=").join(options) : "";
 | 
			
		||||
    RestResponse r = session.get("/changes/" + changeId + q);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected static Gson newGson() {
 | 
			
		||||
    return OutputFormat.JSON_COMPACT.newGson();
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -16,11 +16,9 @@ package com.google.gerrit.acceptance.api.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
@@ -46,9 +44,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class ChangeIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -64,7 +59,6 @@ public class ChangeIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private TestAccount user;
 | 
			
		||||
 | 
			
		||||
  private Git git;
 | 
			
		||||
@@ -72,9 +66,7 @@ public class ChangeIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    user = accounts.user();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -15,13 +15,10 @@
 | 
			
		||||
package com.google.gerrit.acceptance.api.project;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.extensions.api.GerritApi;
 | 
			
		||||
import com.google.gerrit.extensions.api.projects.BranchInput;
 | 
			
		||||
import com.google.gerrit.extensions.restapi.RestApiException;
 | 
			
		||||
@@ -41,9 +38,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class ProjectIT extends AbstractDaemonTest  {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -56,14 +50,11 @@ public class ProjectIT extends AbstractDaemonTest  {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private IdentifiedUser.GenericFactory identifiedUserFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
  Project.NameKey project;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -16,14 +16,11 @@ package com.google.gerrit.acceptance.api.revision;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.extensions.api.GerritApi;
 | 
			
		||||
import com.google.gerrit.extensions.api.changes.ChangeApi;
 | 
			
		||||
import com.google.gerrit.extensions.api.changes.CherryPickInput;
 | 
			
		||||
@@ -47,9 +44,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class RevisionIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -65,15 +59,12 @@ public class RevisionIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -16,10 +16,8 @@ package com.google.gerrit.acceptance.git;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
@@ -45,16 +43,12 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest {
 | 
			
		||||
    SSH, HTTP
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  protected PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
@@ -62,12 +56,7 @@ public abstract class AbstractPushForReview extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
    sshUrl = sshSession.getUrl();
 | 
			
		||||
 
 | 
			
		||||
@@ -16,16 +16,13 @@ package com.google.gerrit.acceptance.git;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.data.AccessSection;
 | 
			
		||||
import com.google.gerrit.common.data.Permission;
 | 
			
		||||
import com.google.gerrit.common.data.PermissionRule;
 | 
			
		||||
@@ -66,9 +63,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class SubmitOnPushIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -96,19 +90,13 @@ public class SubmitOnPushIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
    git = cloneProject(sshSession.getUrl() + "/" + project.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,8 @@ import static org.junit.Assert.assertNotNull;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.data.AccessSection;
 | 
			
		||||
import com.google.gerrit.common.data.GlobalCapability;
 | 
			
		||||
import com.google.gerrit.common.data.Permission;
 | 
			
		||||
@@ -45,9 +43,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class CapabilitiesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsName allProjects;
 | 
			
		||||
 | 
			
		||||
@@ -58,14 +53,10 @@ public class CapabilitiesIT extends AbstractDaemonTest {
 | 
			
		||||
  private ProjectCache projectCache;
 | 
			
		||||
 | 
			
		||||
  private RestSession userSession;
 | 
			
		||||
  private RestSession adminSession;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    TestAccount user = accounts.create("user", "user@example.com", "User");
 | 
			
		||||
    TestAccount admin = accounts.admin();
 | 
			
		||||
    userSession = new RestSession(server, user);
 | 
			
		||||
    adminSession = new RestSession(server, admin);
 | 
			
		||||
    userSession = new RestSession(server, accounts.user());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
 
 | 
			
		||||
@@ -18,39 +18,21 @@ import static com.google.gerrit.acceptance.rest.account.AccountAssert.assertAcco
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.extensions.restapi.Url;
 | 
			
		||||
import com.google.gerrit.server.account.AccountInfo;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GetAccountIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void getNonExistingAccount_NotFound() throws IOException {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND, session.get("/accounts/non-existing")
 | 
			
		||||
        .getStatusCode());
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
        adminSession.get("/accounts/non-existing").getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
@@ -77,7 +59,7 @@ public class GetAccountIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  private void testGetAccount(String url, TestAccount expectedAccount)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertAccountInfo(expectedAccount, newGson()
 | 
			
		||||
        .fromJson(r.getReader(), AccountInfo.class));
 | 
			
		||||
 
 | 
			
		||||
@@ -17,45 +17,27 @@ package com.google.gerrit.acceptance.rest.account;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.AccountDiffPreference;
 | 
			
		||||
import com.google.gerrit.server.account.GetDiffPreferences.DiffPreferencesInfo;
 | 
			
		||||
import com.google.gwtorm.server.OrmException;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GetDiffPreferencesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void getDiffPreferencesOfNonExistingAccount_NotFound()
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
        session.get("/accounts/non-existing/preferences.diff").getStatusCode());
 | 
			
		||||
        adminSession.get("/accounts/non-existing/preferences.diff").getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void getDiffPreferences() throws IOException, OrmException {
 | 
			
		||||
    RestResponse r = session.get("/accounts/" + admin.email + "/preferences.diff");
 | 
			
		||||
    RestResponse r = adminSession.get("/accounts/" + admin.email + "/preferences.diff");
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    DiffPreferencesInfo diffPreferences =
 | 
			
		||||
        newGson().fromJson(r.getReader(), DiffPreferencesInfo.class);
 | 
			
		||||
 
 | 
			
		||||
@@ -16,23 +16,18 @@ package com.google.gerrit.acceptance.rest.account;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertNull;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit.Result;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Change;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.reviewdb.server.ReviewDb;
 | 
			
		||||
import com.google.gerrit.server.change.ChangeJson.ChangeInfo;
 | 
			
		||||
import com.google.gwtorm.server.OrmException;
 | 
			
		||||
import com.google.gwtorm.server.SchemaFactory;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
@@ -47,26 +42,17 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class StarredChangesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -97,18 +83,13 @@ public class StarredChangesIT extends AbstractDaemonTest {
 | 
			
		||||
    assertNull(getChange(c2.getChangeId()).starred);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(String changeId) throws IOException {
 | 
			
		||||
    RestResponse r = session.get("/changes/" + changeId + "/detail");
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void starChange(boolean on, Change.Id id) throws IOException {
 | 
			
		||||
    String url = "/accounts/self/starred.changes/" + id.get();
 | 
			
		||||
    if (on) {
 | 
			
		||||
      RestResponse r = session.put(url);
 | 
			
		||||
      RestResponse r = adminSession.put(url);
 | 
			
		||||
      assertEquals(204, r.getStatusCode());
 | 
			
		||||
    } else {
 | 
			
		||||
      RestResponse r = session.delete(url);
 | 
			
		||||
      RestResponse r = adminSession.delete(url);
 | 
			
		||||
      assertEquals(204, r.getStatusCode());
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,6 @@
 | 
			
		||||
package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static com.google.gerrit.common.changes.ListChangesOption.CURRENT_REVISION;
 | 
			
		||||
import static com.google.gerrit.common.changes.ListChangesOption.DETAILED_LABELS;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
@@ -23,17 +22,12 @@ import static org.junit.Assert.assertFalse;
 | 
			
		||||
import static org.junit.Assert.assertNotEquals;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.common.base.Joiner;
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GitUtil;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.changes.ListChangesOption;
 | 
			
		||||
import com.google.gerrit.extensions.api.changes.ReviewInput;
 | 
			
		||||
import com.google.gerrit.extensions.api.changes.SubmitInput;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Change;
 | 
			
		||||
@@ -73,9 +67,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -91,20 +82,12 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  protected PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  protected RestSession session;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
 | 
			
		||||
    db = reviewDbProvider.open();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -145,7 +128,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
    PutConfig.Input in = new PutConfig.Input();
 | 
			
		||||
    in.submitType = submitType;
 | 
			
		||||
    in.useContentMerge = InheritableBoolean.FALSE;
 | 
			
		||||
    RestResponse r = session.put("/projects/" + project.get() + "/config", in);
 | 
			
		||||
    RestResponse r =
 | 
			
		||||
        adminSession.put("/projects/" + project.get() + "/config", in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    r.consume();
 | 
			
		||||
  }
 | 
			
		||||
@@ -153,7 +137,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
  protected void setUseContentMerge() throws IOException {
 | 
			
		||||
    PutConfig.Input in = new PutConfig.Input();
 | 
			
		||||
    in.useContentMerge = InheritableBoolean.TRUE;
 | 
			
		||||
    RestResponse r = session.put("/projects/" + project.get() + "/config", in);
 | 
			
		||||
    RestResponse r =
 | 
			
		||||
        adminSession.put("/projects/" + project.get() + "/config", in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    r.consume();
 | 
			
		||||
  }
 | 
			
		||||
@@ -183,7 +168,8 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
    approve(changeId);
 | 
			
		||||
    SubmitInput subm = new SubmitInput();
 | 
			
		||||
    subm.waitForMerge = true;
 | 
			
		||||
    RestResponse r = session.post("/changes/" + changeId + "/submit", subm);
 | 
			
		||||
    RestResponse r =
 | 
			
		||||
        adminSession.post("/changes/" + changeId + "/submit", subm);
 | 
			
		||||
    assertEquals(expectedStatus, r.getStatusCode());
 | 
			
		||||
    if (expectedStatus == HttpStatus.SC_OK) {
 | 
			
		||||
      ChangeInfo change =
 | 
			
		||||
@@ -195,7 +181,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void approve(String changeId) throws IOException {
 | 
			
		||||
    RestResponse r = session.post(
 | 
			
		||||
    RestResponse r = adminSession.post(
 | 
			
		||||
        "/changes/" + changeId + "/revisions/current/review",
 | 
			
		||||
        new ReviewInput().label("Code-Review", 2));
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
@@ -227,14 +213,16 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
    assertEquals(admin.getId(), submitter.getAccountId());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected void assertCherryPick(Git localGit, boolean contentMerge) throws IOException {
 | 
			
		||||
  protected void assertCherryPick(Git localGit, boolean contentMerge)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    assertRebase(localGit, contentMerge);
 | 
			
		||||
    RevCommit remoteHead = getRemoteHead();
 | 
			
		||||
    assertFalse(remoteHead.getFooterLines("Reviewed-On").isEmpty());
 | 
			
		||||
    assertFalse(remoteHead.getFooterLines("Reviewed-By").isEmpty());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected void assertRebase(Git localGit, boolean contentMerge) throws IOException {
 | 
			
		||||
  protected void assertRebase(Git localGit, boolean contentMerge)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    Repository repo = localGit.getRepository();
 | 
			
		||||
    RevCommit localHead = getHead(repo);
 | 
			
		||||
    RevCommit remoteHead = getRemoteHead();
 | 
			
		||||
@@ -246,14 +234,6 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
 | 
			
		||||
    assertEquals(localHead.getShortMessage(), remoteHead.getShortMessage());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  protected ChangeInfo getChange(String changeId, ListChangesOption... options)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    String q = options.length > 0 ? "?o=" + Joiner.on("&o=").join(options) : "";
 | 
			
		||||
    RestResponse r = session.get("/changes/" + changeId + q);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RevCommit getHead(Repository repo) throws IOException {
 | 
			
		||||
    return getHead(repo, "HEAD");
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -16,24 +16,19 @@ package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static com.google.gerrit.common.changes.ListChangesOption.MESSAGES;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertNotNull;
 | 
			
		||||
import static org.junit.Assert.assertNull;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.extensions.api.changes.ReviewInput;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.reviewdb.server.ReviewDb;
 | 
			
		||||
import com.google.gerrit.server.change.ChangeJson.ChangeInfo;
 | 
			
		||||
import com.google.gerrit.server.change.ChangeJson.ChangeMessageInfo;
 | 
			
		||||
import com.google.gson.reflect.TypeToken;
 | 
			
		||||
import com.google.gwtorm.server.SchemaFactory;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
@@ -45,30 +40,20 @@ import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.Iterator;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ChangeMessagesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -95,7 +80,7 @@ public class ChangeMessagesIT extends AbstractDaemonTest {
 | 
			
		||||
  public void defaultMessage() throws GitAPIException,
 | 
			
		||||
  IOException {
 | 
			
		||||
    String changeId = createChange();
 | 
			
		||||
    ChangeInfo c = getChangeWithMessages(changeId);
 | 
			
		||||
    ChangeInfo c = getChange(changeId, MESSAGES);
 | 
			
		||||
    assertNotNull(c.messages);
 | 
			
		||||
    assertEquals(1, c.messages.size());
 | 
			
		||||
    assertEquals("Uploaded patch set 1.", c.messages.iterator().next().message);
 | 
			
		||||
@@ -109,7 +94,7 @@ public class ChangeMessagesIT extends AbstractDaemonTest {
 | 
			
		||||
    postMessage(changeId, firstMessage);
 | 
			
		||||
    String secondMessage = "I like this feature.";
 | 
			
		||||
    postMessage(changeId, secondMessage);
 | 
			
		||||
    ChangeInfo c = getChangeWithMessages(changeId);
 | 
			
		||||
    ChangeInfo c = getChange(changeId, MESSAGES);
 | 
			
		||||
    assertNotNull(c.messages);
 | 
			
		||||
    assertEquals(3, c.messages.size());
 | 
			
		||||
    Iterator<ChangeMessageInfo> it = c.messages.iterator();
 | 
			
		||||
@@ -124,24 +109,6 @@ public class ChangeMessagesIT extends AbstractDaemonTest {
 | 
			
		||||
    return push.to(git, "refs/for/master").getChangeId();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(String changeId) throws IOException {
 | 
			
		||||
    return getChange(changeId, false);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChangeWithMessages(String changeId) throws IOException {
 | 
			
		||||
    return getChange(changeId, true);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(String changeId, boolean includeMessages)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    RestResponse r =
 | 
			
		||||
        session.get("/changes/?q=" + changeId
 | 
			
		||||
            + (includeMessages ? "&o=MESSAGES" : ""));
 | 
			
		||||
    List<ChangeInfo> c = newGson().fromJson(r.getReader(),
 | 
			
		||||
        new TypeToken<List<ChangeInfo>>() {}.getType());
 | 
			
		||||
    return c.get(0);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void assertMessage(String expected, String actual) {
 | 
			
		||||
    assertEquals("Patch Set 1:\n\n" + expected, actual);
 | 
			
		||||
  }
 | 
			
		||||
@@ -149,6 +116,7 @@ public class ChangeMessagesIT extends AbstractDaemonTest {
 | 
			
		||||
  private void postMessage(String changeId, String msg) throws IOException {
 | 
			
		||||
    ReviewInput in = new ReviewInput();
 | 
			
		||||
    in.message = msg;
 | 
			
		||||
    session.post("/changes/" + changeId + "/revisions/1/review", in).consume();
 | 
			
		||||
    adminSession.post("/changes/" + changeId + "/revisions/1/review", in)
 | 
			
		||||
        .consume();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,6 @@ import static com.google.gerrit.common.data.Permission.LABEL;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
@@ -56,9 +55,6 @@ import java.io.UnsupportedEncodingException;
 | 
			
		||||
 | 
			
		||||
public class ChangeOwnerIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -154,8 +150,6 @@ public class ChangeOwnerIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  private void newProject() throws UnsupportedEncodingException,
 | 
			
		||||
      OrmException, JSchException, IOException {
 | 
			
		||||
    TestAccount admin = accounts.admin();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,6 @@ package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.checkout;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
@@ -24,13 +23,10 @@ import com.google.common.base.Function;
 | 
			
		||||
import com.google.common.collect.ImmutableSet;
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GitUtil;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.reviewdb.server.ReviewDb;
 | 
			
		||||
import com.google.gerrit.server.change.ChangeJson.ChangeInfo;
 | 
			
		||||
@@ -51,27 +47,18 @@ import java.util.Set;
 | 
			
		||||
 | 
			
		||||
public class ConflictsOperatorIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
  private int count;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
 | 
			
		||||
    db = reviewDbProvider.open();
 | 
			
		||||
@@ -126,7 +113,7 @@ public class ConflictsOperatorIT extends AbstractDaemonTest {
 | 
			
		||||
  private Set<String> queryConflictingChanges(PushOneCommit.Result change)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    RestResponse r =
 | 
			
		||||
        session.get("/changes/?q=conflicts:" + change.getChangeId());
 | 
			
		||||
        adminSession.get("/changes/?q=conflicts:" + change.getChangeId());
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    Set<ChangeInfo> changes =
 | 
			
		||||
        newGson().fromJson(r.getReader(),
 | 
			
		||||
 
 | 
			
		||||
@@ -16,17 +16,14 @@ package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Change;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.PatchSet;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
@@ -46,27 +43,17 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -87,7 +74,7 @@ public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
    ChangeInfo c = getChange(changeId);
 | 
			
		||||
    assertEquals("p~master~" + changeId, c.id);
 | 
			
		||||
    assertEquals(Change.Status.NEW, c.status);
 | 
			
		||||
    RestResponse r = deleteChange(changeId, session);
 | 
			
		||||
    RestResponse r = deleteChange(changeId, adminSession);
 | 
			
		||||
    assertEquals("Change is not a draft", r.getEntityContent());
 | 
			
		||||
    assertEquals(409, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
@@ -99,7 +86,7 @@ public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
    ChangeInfo c = getChange(changeId);
 | 
			
		||||
    assertEquals("p~master~" + changeId, c.id);
 | 
			
		||||
    assertEquals(Change.Status.DRAFT, c.status);
 | 
			
		||||
    RestResponse r = deleteChange(changeId, session);
 | 
			
		||||
    RestResponse r = deleteChange(changeId, adminSession);
 | 
			
		||||
    assertEquals(204, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -129,11 +116,6 @@ public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
    assertEquals(Change.Status.NEW, c.status);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(String changeId) throws IOException {
 | 
			
		||||
    RestResponse r = session.get("/changes/" + changeId + "/detail");
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private String createChange() throws GitAPIException,
 | 
			
		||||
      IOException {
 | 
			
		||||
    PushOneCommit push = pushFactory.create(db, admin.getIdent());
 | 
			
		||||
@@ -151,7 +133,7 @@ public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse publishChange(String changeId) throws IOException {
 | 
			
		||||
    return session.post("/changes/" + changeId + "/publish");
 | 
			
		||||
    return adminSession.post("/changes/" + changeId + "/publish");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse publishPatchSet(String changeId) throws IOException,
 | 
			
		||||
@@ -160,7 +142,7 @@ public class DeleteDraftChangeIT extends AbstractDaemonTest {
 | 
			
		||||
        .get(Iterables.getOnlyElement(db.changes()
 | 
			
		||||
            .byKey(new Change.Key(changeId)))
 | 
			
		||||
            .currentPatchSetId());
 | 
			
		||||
    return session.post("/changes/"
 | 
			
		||||
    return adminSession.post("/changes/"
 | 
			
		||||
        + changeId
 | 
			
		||||
        + "/revisions/"
 | 
			
		||||
        + patchSet.getRevision().get()
 | 
			
		||||
 
 | 
			
		||||
@@ -16,18 +16,16 @@ package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit.Result;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit.Result;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Change;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.PatchSet;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
@@ -47,31 +45,22 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class DeleteDraftPatchSetIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private TestAccount user;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private RestSession userSession;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    user = accounts.create("user", "user@example.com", "User");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    userSession = new RestSession(server, user);
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -93,7 +82,7 @@ public class DeleteDraftPatchSetIT extends AbstractDaemonTest {
 | 
			
		||||
    ChangeInfo c = getChange(changeId);
 | 
			
		||||
    assertEquals("p~master~" + changeId, c.id);
 | 
			
		||||
    assertEquals(Change.Status.NEW, c.status);
 | 
			
		||||
    RestResponse r = deletePatchSet(changeId, ps, session);
 | 
			
		||||
    RestResponse r = deletePatchSet(changeId, ps, adminSession);
 | 
			
		||||
    assertEquals("Patch set is not a draft.", r.getEntityContent());
 | 
			
		||||
    assertEquals(409, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
@@ -119,14 +108,14 @@ public class DeleteDraftPatchSetIT extends AbstractDaemonTest {
 | 
			
		||||
    ChangeInfo c = getChange(changeId);
 | 
			
		||||
    assertEquals("p~master~" + changeId, c.id);
 | 
			
		||||
    assertEquals(Change.Status.DRAFT, c.status);
 | 
			
		||||
    RestResponse r = deletePatchSet(changeId, ps, session);
 | 
			
		||||
    RestResponse r = deletePatchSet(changeId, ps, adminSession);
 | 
			
		||||
    assertEquals(204, r.getStatusCode());
 | 
			
		||||
    Change change = Iterables.getOnlyElement(db.changes().byKey(
 | 
			
		||||
        new Change.Key(changeId)).toList());
 | 
			
		||||
    assertEquals(1, db.patchSets().byChange(change.getId())
 | 
			
		||||
        .toList().size());
 | 
			
		||||
    ps = getCurrentPatchSet(changeId);
 | 
			
		||||
    r = deletePatchSet(changeId, ps, session);
 | 
			
		||||
    r = deletePatchSet(changeId, ps, adminSession);
 | 
			
		||||
    assertEquals(204, r.getStatusCode());
 | 
			
		||||
    assertEquals(0, db.changes().byKey(new Change.Key(changeId))
 | 
			
		||||
        .toList().size());
 | 
			
		||||
@@ -141,11 +130,6 @@ public class DeleteDraftPatchSetIT extends AbstractDaemonTest {
 | 
			
		||||
    return push.to(git, ref).getChangeId();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(String changeId) throws IOException {
 | 
			
		||||
    RestResponse r = session.get("/changes/" + changeId + "/detail");
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private PatchSet getCurrentPatchSet(String changeId) throws OrmException {
 | 
			
		||||
    return db.patchSets()
 | 
			
		||||
        .get(Iterables.getOnlyElement(db.changes()
 | 
			
		||||
 
 | 
			
		||||
@@ -16,15 +16,12 @@ package com.google.gerrit.acceptance.rest.change;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GerritConfig;
 | 
			
		||||
import com.google.gerrit.acceptance.GerritConfigs;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
@@ -45,26 +42,18 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class SuggestReviewersIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    group("users1");
 | 
			
		||||
    group("users2");
 | 
			
		||||
    group("users3");
 | 
			
		||||
@@ -73,7 +62,6 @@ public class SuggestReviewersIT extends AbstractDaemonTest {
 | 
			
		||||
    accounts.create("user2", "user2@example.com", "User2", "users2");
 | 
			
		||||
    accounts.create("user3", "user3@example.com", "User3", "users1", "users2");
 | 
			
		||||
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -134,7 +122,7 @@ public class SuggestReviewersIT extends AbstractDaemonTest {
 | 
			
		||||
      String query, int n)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    return newGson().fromJson(
 | 
			
		||||
        session.get("/changes/"
 | 
			
		||||
        adminSession.get("/changes/"
 | 
			
		||||
            + changeId
 | 
			
		||||
            + "/suggest_reviewers?q="
 | 
			
		||||
            + query
 | 
			
		||||
@@ -146,7 +134,7 @@ public class SuggestReviewersIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void group(String name) throws IOException {
 | 
			
		||||
    session.put("/groups/" + name, new Object()).consume();
 | 
			
		||||
    adminSession.put("/groups/" + name, new Object()).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private String createChange(TestAccount account) throws GitAPIException,
 | 
			
		||||
 
 | 
			
		||||
@@ -25,9 +25,7 @@ import com.google.common.collect.Lists;
 | 
			
		||||
import com.google.common.collect.Maps;
 | 
			
		||||
import com.google.common.collect.Sets;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Account;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.AccountGroup;
 | 
			
		||||
@@ -59,23 +57,16 @@ import java.util.Set;
 | 
			
		||||
 | 
			
		||||
public class AddRemoveGroupMembersIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GroupCache groupCache;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
    db = reviewDbProvider.open();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -170,28 +161,28 @@ public class AddRemoveGroupMembersIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse PUT(String endpoint) throws IOException {
 | 
			
		||||
    return session.put(endpoint);
 | 
			
		||||
    return adminSession.put(endpoint);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private int DELETE(String endpoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.delete(endpoint);
 | 
			
		||||
    RestResponse r = adminSession.delete(endpoint);
 | 
			
		||||
    r.consume();
 | 
			
		||||
    return r.getStatusCode();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse POST(String endPoint, AddMembers.Input mi)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    return session.post(endPoint, mi);
 | 
			
		||||
    return adminSession.post(endPoint, mi);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse POST(String endPoint, AddIncludedGroups.Input gi)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    return session.post(endPoint, gi);
 | 
			
		||||
    return adminSession.post(endPoint, gi);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void group(String name) throws IOException {
 | 
			
		||||
    CreateGroup.Input in = new CreateGroup.Input();
 | 
			
		||||
    session.put("/groups/" + name, in).consume();
 | 
			
		||||
    adminSession.put("/groups/" + name, in).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void assertMembers(String group, TestAccount... members)
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,6 @@ import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertNotNull;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
@@ -33,33 +32,19 @@ import com.google.inject.Inject;
 | 
			
		||||
import com.jcraft.jsch.JSchException;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class CreateGroupIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GroupCache groupCache;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testCreateGroup() throws IOException {
 | 
			
		||||
    final String newGroupName = "newGroup";
 | 
			
		||||
    RestResponse r = session.put("/groups/" + newGroupName);
 | 
			
		||||
    RestResponse r = adminSession.put("/groups/" + newGroupName);
 | 
			
		||||
    GroupInfo g = newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
    assertEquals(newGroupName, g.name);
 | 
			
		||||
    AccountGroup group = groupCache.get(new AccountGroup.NameKey(newGroupName));
 | 
			
		||||
@@ -74,7 +59,7 @@ public class CreateGroupIT extends AbstractDaemonTest {
 | 
			
		||||
    in.description = "Test description";
 | 
			
		||||
    in.visibleToAll = true;
 | 
			
		||||
    in.ownerId = groupCache.get(new AccountGroup.NameKey("Administrators")).getGroupUUID().get();
 | 
			
		||||
    RestResponse r = session.put("/groups/" + newGroupName, in);
 | 
			
		||||
    RestResponse r = adminSession.put("/groups/" + newGroupName, in);
 | 
			
		||||
    GroupInfo g = newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
    assertEquals(newGroupName, g.name);
 | 
			
		||||
    AccountGroup group = groupCache.get(new AccountGroup.NameKey(newGroupName));
 | 
			
		||||
@@ -94,7 +79,7 @@ public class CreateGroupIT extends AbstractDaemonTest {
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testCreateGroupWhenGroupAlreadyExists_Conflict()
 | 
			
		||||
      throws OrmException, JSchException, IOException {
 | 
			
		||||
    RestResponse r = session.put("/groups/Administrators");
 | 
			
		||||
    RestResponse r = adminSession.put("/groups/Administrators");
 | 
			
		||||
    assertEquals(HttpStatus.SC_CONFLICT, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -18,11 +18,9 @@ import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.Sets;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.AccountGroup;
 | 
			
		||||
import com.google.gerrit.reviewdb.server.ReviewDb;
 | 
			
		||||
import com.google.gerrit.server.group.GroupJson.GroupInfo;
 | 
			
		||||
@@ -33,7 +31,6 @@ import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import com.jcraft.jsch.JSchException;
 | 
			
		||||
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -52,17 +49,6 @@ public class DefaultGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  protected TestAccount admin;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@sap.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void defaultGroupsCreated_ssh() throws JSchException, IOException {
 | 
			
		||||
    SshSession session = new SshSession(server, admin);
 | 
			
		||||
 
 | 
			
		||||
@@ -17,38 +17,21 @@ package com.google.gerrit.acceptance.rest.group;
 | 
			
		||||
import static com.google.gerrit.acceptance.rest.group.GroupAssert.assertGroupInfo;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.AccountGroup;
 | 
			
		||||
import com.google.gerrit.server.account.GroupCache;
 | 
			
		||||
import com.google.gerrit.server.group.GroupJson.GroupInfo;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GetGroupIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GroupCache groupCache;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testGetGroup() throws IOException {
 | 
			
		||||
    AccountGroup adminGroup = groupCache.get(new AccountGroup.NameKey("Administrators"));
 | 
			
		||||
@@ -65,7 +48,7 @@ public class GetGroupIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  private void testGetGroup(String url, AccountGroup expectedGroup)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    GroupInfo group = newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
    assertGroupInfo(expectedGroup, group);
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -21,10 +21,7 @@ import static org.junit.Assert.assertNotNull;
 | 
			
		||||
import static org.junit.Assert.assertNull;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.extensions.restapi.Url;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.AccountGroup;
 | 
			
		||||
import com.google.gerrit.server.account.GroupCache;
 | 
			
		||||
@@ -38,36 +35,22 @@ import com.google.gerrit.server.group.SystemGroupBackend;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GroupCache groupCache;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testGroupName() throws IOException {
 | 
			
		||||
    AccountGroup.NameKey adminGroupName = new AccountGroup.NameKey("Administrators");
 | 
			
		||||
    String url = "/groups/" + groupCache.get(adminGroupName).getGroupUUID().get() + "/name";
 | 
			
		||||
 | 
			
		||||
    // get name
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    String name = newGson().fromJson(r.getReader(), String.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals("Administrators", name);
 | 
			
		||||
@@ -75,26 +58,26 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
    // set name with name conflict
 | 
			
		||||
    String newGroupName = "newGroup";
 | 
			
		||||
    r = session.put("/groups/" + newGroupName);
 | 
			
		||||
    r = adminSession.put("/groups/" + newGroupName);
 | 
			
		||||
    r.consume();
 | 
			
		||||
    assertEquals(HttpStatus.SC_CREATED, r.getStatusCode());
 | 
			
		||||
    PutName.Input in = new PutName.Input();
 | 
			
		||||
    in.name = newGroupName;
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_CONFLICT, r.getStatusCode());
 | 
			
		||||
    r.consume();
 | 
			
		||||
 | 
			
		||||
    // set name to same name
 | 
			
		||||
    in = new PutName.Input();
 | 
			
		||||
    in.name = "Administrators";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    r.consume();
 | 
			
		||||
 | 
			
		||||
    // rename
 | 
			
		||||
    in = new PutName.Input();
 | 
			
		||||
    in.name = "Admins";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    String newName = newGson().fromJson(r.getReader(), String.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertNotNull(groupCache.get(new AccountGroup.NameKey(in.name)));
 | 
			
		||||
@@ -110,7 +93,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    String url = "/groups/" + adminGroup.getGroupUUID().get() + "/description";
 | 
			
		||||
 | 
			
		||||
    // get description
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    String description = newGson().fromJson(r.getReader(), String.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals(adminGroup.getDescription(), description);
 | 
			
		||||
@@ -119,7 +102,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set description
 | 
			
		||||
    PutDescription.Input in = new PutDescription.Input();
 | 
			
		||||
    in.description = "All users that can administrate the Gerrit Server.";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    String newDescription = newGson().fromJson(r.getReader(), String.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals(in.description, newDescription);
 | 
			
		||||
@@ -128,7 +111,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    r.consume();
 | 
			
		||||
 | 
			
		||||
    // delete description
 | 
			
		||||
    r = session.delete(url);
 | 
			
		||||
    r = adminSession.delete(url);
 | 
			
		||||
    assertEquals(HttpStatus.SC_NO_CONTENT, r.getStatusCode());
 | 
			
		||||
    adminGroup = groupCache.get(adminGroupName);
 | 
			
		||||
    assertNull(adminGroup.getDescription());
 | 
			
		||||
@@ -136,7 +119,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set description to empty string
 | 
			
		||||
    in = new PutDescription.Input();
 | 
			
		||||
    in.description = "";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_NO_CONTENT, r.getStatusCode());
 | 
			
		||||
    adminGroup = groupCache.get(adminGroupName);
 | 
			
		||||
    assertNull(adminGroup.getDescription());
 | 
			
		||||
@@ -149,7 +132,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    String url = "/groups/" + adminGroup.getGroupUUID().get() + "/options";
 | 
			
		||||
 | 
			
		||||
    // get options
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    GroupOptionsInfo options = newGson().fromJson(r.getReader(), GroupOptionsInfo.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals(adminGroup.isVisibleToAll(), toBoolean(options.visibleToAll));
 | 
			
		||||
@@ -158,7 +141,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set options
 | 
			
		||||
    PutOptions.Input in = new PutOptions.Input();
 | 
			
		||||
    in.visibleToAll = !adminGroup.isVisibleToAll();
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    GroupOptionsInfo newOptions = newGson().fromJson(r.getReader(), GroupOptionsInfo.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals(in.visibleToAll, toBoolean(newOptions.visibleToAll));
 | 
			
		||||
@@ -174,7 +157,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    String url = "/groups/" + adminGroup.getGroupUUID().get() + "/owner";
 | 
			
		||||
 | 
			
		||||
    // get owner
 | 
			
		||||
    RestResponse r = session.get(url);
 | 
			
		||||
    RestResponse r = adminSession.get(url);
 | 
			
		||||
    GroupInfo options = newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertGroupInfo(groupCache.get(adminGroup.getOwnerGroupUUID()), options);
 | 
			
		||||
@@ -183,7 +166,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set owner by name
 | 
			
		||||
    PutOwner.Input in = new PutOwner.Input();
 | 
			
		||||
    in.owner = "Registered Users";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    GroupInfo newOwner = newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    assertEquals(in.owner, newOwner.name);
 | 
			
		||||
@@ -198,7 +181,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set owner by UUID
 | 
			
		||||
    in = new PutOwner.Input();
 | 
			
		||||
    in.owner = adminGroup.getGroupUUID().get();
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    adminGroup = groupCache.get(adminGroupName);
 | 
			
		||||
    assertEquals(in.owner, groupCache.get(adminGroup.getOwnerGroupUUID()).getGroupUUID().get());
 | 
			
		||||
@@ -207,7 +190,7 @@ public class GroupPropertiesIT extends AbstractDaemonTest {
 | 
			
		||||
    // set non existing owner
 | 
			
		||||
    in = new PutOwner.Input();
 | 
			
		||||
    in.owner = "Non-Existing Group";
 | 
			
		||||
    r = session.put(url, in);
 | 
			
		||||
    r = adminSession.put(url, in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_UNPROCESSABLE_ENTITY, r.getStatusCode());
 | 
			
		||||
    r.consume();
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -20,18 +20,13 @@ import static org.junit.Assert.assertTrue;
 | 
			
		||||
import com.google.common.base.Function;
 | 
			
		||||
import com.google.common.collect.Collections2;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.Nullable;
 | 
			
		||||
import com.google.gerrit.server.group.CreateGroup;
 | 
			
		||||
import com.google.gerrit.server.group.GroupJson.GroupInfo;
 | 
			
		||||
import com.google.gson.reflect.TypeToken;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -40,21 +35,10 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ListGroupIncludesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    TestAccount admin = accounts.create("admin", "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void listNonExistingGroupIncludes_NotFound() throws Exception {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
      session.get("/groups/non-existing/groups/").getStatusCode());
 | 
			
		||||
      adminSession.get("/groups/non-existing/groups/").getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
@@ -83,26 +67,26 @@ public class ListGroupIncludesIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private List<GroupInfo> GET(String endpoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.get(endpoint);
 | 
			
		||||
    RestResponse r = adminSession.get(endpoint);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(),
 | 
			
		||||
        new TypeToken<List<GroupInfo>>() {}.getType());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private GroupInfo GET_ONE(String endpoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.get(endpoint);
 | 
			
		||||
    RestResponse r = adminSession.get(endpoint);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(), GroupInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void PUT(String endpoint) throws IOException {
 | 
			
		||||
    session.put(endpoint).consume();
 | 
			
		||||
    adminSession.put(endpoint).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void group(String name, String ownerGroup) throws IOException {
 | 
			
		||||
    CreateGroup.Input in = new CreateGroup.Input();
 | 
			
		||||
    in.ownerId = ownerGroup;
 | 
			
		||||
    session.put("/groups/" + name, in).consume();
 | 
			
		||||
    adminSession.put("/groups/" + name, in).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void assertIncludes(List<GroupInfo> includes, String name,
 | 
			
		||||
 
 | 
			
		||||
@@ -20,18 +20,13 @@ import static org.junit.Assert.assertTrue;
 | 
			
		||||
import com.google.common.base.Function;
 | 
			
		||||
import com.google.common.collect.Collections2;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.Nullable;
 | 
			
		||||
import com.google.gerrit.server.account.AccountInfo;
 | 
			
		||||
import com.google.gerrit.server.group.CreateGroup;
 | 
			
		||||
import com.google.gson.reflect.TypeToken;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -40,21 +35,10 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ListGroupMembersIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    TestAccount admin = accounts.create("admin", "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void listNonExistingGroupMembers_NotFound() throws Exception {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
        session.get("/groups/non-existing/members/").getStatusCode());
 | 
			
		||||
        adminSession.get("/groups/non-existing/members/").getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
@@ -65,16 +49,17 @@ public class ListGroupMembersIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void listNonEmptyGroupMembers() throws Exception {
 | 
			
		||||
    assertMembers(GET("/groups/Administrators/members/"), "admin");
 | 
			
		||||
    assertMembers(GET("/groups/Administrators/members/"), admin.fullName);
 | 
			
		||||
 | 
			
		||||
    accounts.create("admin2", "Administrators");
 | 
			
		||||
    assertMembers(GET("/groups/Administrators/members/"), "admin", "admin2");
 | 
			
		||||
    assertMembers(GET("/groups/Administrators/members/"),
 | 
			
		||||
        admin.fullName, "admin2");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void listOneGroupMember() throws IOException {
 | 
			
		||||
    assertEquals(GET_ONE("/groups/Administrators/members/admin").name,
 | 
			
		||||
        "admin");
 | 
			
		||||
        admin.fullName);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
@@ -88,31 +73,31 @@ public class ListGroupMembersIT extends AbstractDaemonTest {
 | 
			
		||||
    PUT("/groups/Administrators/groups/gx");
 | 
			
		||||
    PUT("/groups/gx/groups/gy");
 | 
			
		||||
    assertMembers(GET("/groups/Administrators/members/?recursive"),
 | 
			
		||||
        "admin", "ux", "uy");
 | 
			
		||||
        admin.fullName, "ux", "uy");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private List<AccountInfo> GET(String endpoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.get(endpoint);
 | 
			
		||||
    RestResponse r = adminSession.get(endpoint);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(),
 | 
			
		||||
        new TypeToken<List<AccountInfo>>() {}.getType());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private AccountInfo GET_ONE(String endpoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.get(endpoint);
 | 
			
		||||
    RestResponse r = adminSession.get(endpoint);
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(), AccountInfo.class);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void PUT(String endpoint) throws IOException {
 | 
			
		||||
    session.put(endpoint).consume();
 | 
			
		||||
    adminSession.put(endpoint).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void group(String name, String ownerGroup)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    CreateGroup.Input in = new CreateGroup.Input();
 | 
			
		||||
    in.ownerId = ownerGroup;
 | 
			
		||||
    session.put("/groups/" + name, in).consume();
 | 
			
		||||
    adminSession.put("/groups/" + name, in).consume();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void assertMembers(List<AccountInfo> members, String name,
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,6 @@ import com.google.common.base.Function;
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.common.collect.Sets;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
@@ -39,7 +38,6 @@ import com.google.inject.Inject;
 | 
			
		||||
import com.jcraft.jsch.JSchException;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -48,22 +46,9 @@ import java.util.Set;
 | 
			
		||||
 | 
			
		||||
public class ListGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GroupCache groupCache;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testListAllGroups() throws IOException, OrmException {
 | 
			
		||||
    Iterable<String> expectedGroups = Iterables.transform(groupCache.all(),
 | 
			
		||||
@@ -74,7 +59,7 @@ public class ListGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
            return group.getName();
 | 
			
		||||
          }
 | 
			
		||||
        });
 | 
			
		||||
    RestResponse r = session.get("/groups/");
 | 
			
		||||
    RestResponse r = adminSession.get("/groups/");
 | 
			
		||||
    Map<String, GroupInfo> result =
 | 
			
		||||
        newGson().fromJson(r.getReader(),
 | 
			
		||||
            new TypeToken<Map<String, GroupInfo>>() {}.getType());
 | 
			
		||||
@@ -93,7 +78,7 @@ public class ListGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
    in.visibleToAll = false;
 | 
			
		||||
    in.ownerId = groupCache.get(new AccountGroup.NameKey("Administrators"))
 | 
			
		||||
        .getGroupUUID().get();
 | 
			
		||||
    session.put("/groups/" + newGroupName, in).consume();
 | 
			
		||||
    adminSession.put("/groups/" + newGroupName, in).consume();
 | 
			
		||||
 | 
			
		||||
    Set<String> expectedGroups = Sets.newHashSet(newGroupName);
 | 
			
		||||
    RestResponse r = userSession.get("/groups/");
 | 
			
		||||
@@ -102,7 +87,7 @@ public class ListGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
            new TypeToken<Map<String, GroupInfo>>() {}.getType());
 | 
			
		||||
    assertTrue("no groups visible", result.isEmpty());
 | 
			
		||||
 | 
			
		||||
    assertEquals(HttpStatus.SC_CREATED, session.put(
 | 
			
		||||
    assertEquals(HttpStatus.SC_CREATED, adminSession.put(
 | 
			
		||||
        String.format("/groups/%s/members/%s", newGroupName, user.username)
 | 
			
		||||
      ).getStatusCode());
 | 
			
		||||
 | 
			
		||||
@@ -116,7 +101,7 @@ public class ListGroupsIT extends AbstractDaemonTest {
 | 
			
		||||
  public void testAllGroupInfoFieldsSetCorrectly() throws IOException,
 | 
			
		||||
      OrmException {
 | 
			
		||||
    AccountGroup adminGroup = groupCache.get(new AccountGroup.NameKey("Administrators"));
 | 
			
		||||
    RestResponse r = session.get("/groups/?q=" + adminGroup.getName());
 | 
			
		||||
    RestResponse r = adminSession.get("/groups/?q=" + adminGroup.getName());
 | 
			
		||||
    Map<String, GroupInfo> result =
 | 
			
		||||
        newGson().fromJson(r.getReader(),
 | 
			
		||||
            new TypeToken<Map<String, GroupInfo>>() {}.getType());
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertNotNull;
 | 
			
		||||
import com.google.common.collect.Lists;
 | 
			
		||||
import com.google.common.collect.Sets;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
@@ -51,7 +50,6 @@ import org.eclipse.jgit.lib.Repository;
 | 
			
		||||
import org.eclipse.jgit.revwalk.RevCommit;
 | 
			
		||||
import org.eclipse.jgit.revwalk.RevWalk;
 | 
			
		||||
import org.eclipse.jgit.treewalk.TreeWalk;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -60,9 +58,6 @@ import java.util.Set;
 | 
			
		||||
 | 
			
		||||
public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private ProjectCache projectCache;
 | 
			
		||||
 | 
			
		||||
@@ -72,20 +67,10 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GitRepositoryManager git;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testCreateProject() throws IOException {
 | 
			
		||||
    final String newProjectName = "newProject";
 | 
			
		||||
    RestResponse r = session.put("/projects/" + newProjectName);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/" + newProjectName);
 | 
			
		||||
    assertEquals(HttpStatus.SC_CREATED, r.getStatusCode());
 | 
			
		||||
    ProjectInfo p = newGson().fromJson(r.getReader(), ProjectInfo.class);
 | 
			
		||||
    assertEquals(newProjectName, p.name);
 | 
			
		||||
@@ -99,7 +84,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
  public void testCreateProjectWithNameMismatch_BadRequest() throws IOException {
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.name = "otherName";
 | 
			
		||||
    RestResponse r = session.put("/projects/someName", in);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/someName", in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_BAD_REQUEST, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -113,7 +98,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
    in.useSignedOffBy = InheritableBoolean.TRUE;
 | 
			
		||||
    in.useContentMerge = InheritableBoolean.TRUE;
 | 
			
		||||
    in.requireChangeId = InheritableBoolean.TRUE;
 | 
			
		||||
    RestResponse r = session.put("/projects/" + newProjectName, in);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/" + newProjectName, in);
 | 
			
		||||
    ProjectInfo p = newGson().fromJson(r.getReader(), ProjectInfo.class);
 | 
			
		||||
    assertEquals(newProjectName, p.name);
 | 
			
		||||
    Project project = projectCache.get(new Project.NameKey(newProjectName)).getProject();
 | 
			
		||||
@@ -129,12 +114,12 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testCreateChildProject() throws IOException {
 | 
			
		||||
    final String parentName = "parent";
 | 
			
		||||
    RestResponse r = session.put("/projects/" + parentName);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/" + parentName);
 | 
			
		||||
    r.consume();
 | 
			
		||||
    final String childName = "child";
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.parent = parentName;
 | 
			
		||||
    r = session.put("/projects/" + childName, in);
 | 
			
		||||
    r = adminSession.put("/projects/" + childName, in);
 | 
			
		||||
    Project project = projectCache.get(new Project.NameKey(childName)).getProject();
 | 
			
		||||
    assertEquals(in.parent, project.getParentName());
 | 
			
		||||
  }
 | 
			
		||||
@@ -143,7 +128,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.parent = "non-existing-project";
 | 
			
		||||
    RestResponse r = session.put("/projects/child", in);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/child", in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_UNPROCESSABLE_ENTITY, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -156,7 +141,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
    in.owners.add(SystemGroupBackend.REGISTERED_USERS.get()); // by UUID
 | 
			
		||||
    in.owners.add(Integer.toString(groupCache.get(
 | 
			
		||||
        new AccountGroup.NameKey("Administrators")).getId().get())); // by ID
 | 
			
		||||
    session.put("/projects/" + newProjectName, in);
 | 
			
		||||
    adminSession.put("/projects/" + newProjectName, in);
 | 
			
		||||
    ProjectState projectState = projectCache.get(new Project.NameKey(newProjectName));
 | 
			
		||||
    Set<AccountGroup.UUID> expectedOwnerIds = Sets.newHashSetWithExpectedSize(3);
 | 
			
		||||
    expectedOwnerIds.add(SystemGroupBackend.ANONYMOUS_USERS);
 | 
			
		||||
@@ -169,7 +154,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.owners = Collections.singletonList("non-existing-group");
 | 
			
		||||
    RestResponse r = session.put("/projects/newProject", in);
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/newProject", in);
 | 
			
		||||
    assertEquals(HttpStatus.SC_UNPROCESSABLE_ENTITY, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -178,7 +163,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
    final String newProjectName = "newProject";
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.permissionsOnly = true;
 | 
			
		||||
    session.put("/projects/" + newProjectName, in);
 | 
			
		||||
    adminSession.put("/projects/" + newProjectName, in);
 | 
			
		||||
    assertHead(newProjectName, RefNames.REFS_CONFIG);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -187,7 +172,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
    final String newProjectName = "newProject";
 | 
			
		||||
    CreateProject.Input in = new CreateProject.Input();
 | 
			
		||||
    in.createEmptyCommit = true;
 | 
			
		||||
    session.put("/projects/" + newProjectName, in);
 | 
			
		||||
    adminSession.put("/projects/" + newProjectName, in);
 | 
			
		||||
    assertEmptyCommit(newProjectName, "refs/heads/master");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -200,7 +185,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
    in.branches.add("refs/heads/test");
 | 
			
		||||
    in.branches.add("refs/heads/master");
 | 
			
		||||
    in.branches.add("release"); // without 'refs/heads' prefix
 | 
			
		||||
    session.put("/projects/" + newProjectName, in);
 | 
			
		||||
    adminSession.put("/projects/" + newProjectName, in);
 | 
			
		||||
    assertHead(newProjectName, "refs/heads/test");
 | 
			
		||||
    assertEmptyCommit(newProjectName, "refs/heads/test", "refs/heads/master",
 | 
			
		||||
        "refs/heads/release");
 | 
			
		||||
@@ -217,7 +202,7 @@ public class CreateProjectIT extends AbstractDaemonTest {
 | 
			
		||||
  @Test
 | 
			
		||||
  public void testCreateProjectWhenProjectAlreadyExists_Conflict()
 | 
			
		||||
      throws OrmException, JSchException, IOException {
 | 
			
		||||
    RestResponse r = session.put("/projects/All-Projects");
 | 
			
		||||
    RestResponse r = adminSession.put("/projects/All-Projects");
 | 
			
		||||
    assertEquals(HttpStatus.SC_CONFLICT, r.getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,11 +15,9 @@
 | 
			
		||||
package com.google.gerrit.acceptance.rest.project;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
@@ -45,9 +43,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class DeleteBranchIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private MetaDataUpdate.Server metaDataUpdateFactory;
 | 
			
		||||
 | 
			
		||||
@@ -57,7 +52,6 @@ public class DeleteBranchIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsNameProvider allProjects;
 | 
			
		||||
 | 
			
		||||
  private RestSession adminSession;
 | 
			
		||||
  private RestSession userSession;
 | 
			
		||||
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
@@ -65,16 +59,12 @@ public class DeleteBranchIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    TestAccount admin = accounts.admin();
 | 
			
		||||
    adminSession = new RestSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    TestAccount user = accounts.create("user", "user@example.com", "User");
 | 
			
		||||
    userSession = new RestSession(server, user);
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    branch = new Branch.NameKey(project, "test");
 | 
			
		||||
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    try {
 | 
			
		||||
      createProject(sshSession, project.get(), null, true);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,12 +18,10 @@ import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GcAssert;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.acceptance.UseLocalDisk;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.server.config.AllProjectsName;
 | 
			
		||||
@@ -40,26 +38,17 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsName allProjects;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GcAssert gcAssert;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Project.NameKey project1;
 | 
			
		||||
  private Project.NameKey project2;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    project1 = new Project.NameKey("p1");
 | 
			
		||||
@@ -68,8 +57,6 @@ public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
    project2 = new Project.NameKey("p2");
 | 
			
		||||
    createProject(sshSession, project2.get());
 | 
			
		||||
    sshSession.close();
 | 
			
		||||
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
@@ -93,7 +80,7 @@ public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private int POST(String endPoint) throws IOException {
 | 
			
		||||
    RestResponse r = session.post(endPoint);
 | 
			
		||||
    RestResponse r = adminSession.post(endPoint);
 | 
			
		||||
    r.consume();
 | 
			
		||||
    return r.getStatusCode();
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -19,11 +19,8 @@ import static com.google.gerrit.acceptance.rest.project.ProjectAssert.assertProj
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.server.config.AllProjectsName;
 | 
			
		||||
import com.google.gerrit.server.project.ProjectCache;
 | 
			
		||||
@@ -33,33 +30,18 @@ import com.google.inject.Inject;
 | 
			
		||||
import com.jcraft.jsch.JSchException;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class GetChildProjectIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsName allProjects;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private ProjectCache projectCache;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void getNonExistingChildProject_NotFound() throws IOException {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
@@ -123,6 +105,6 @@ public class GetChildProjectIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse GET(String endpoint) throws IOException {
 | 
			
		||||
    return session.get(endpoint);
 | 
			
		||||
    return adminSession.get(endpoint);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -16,18 +16,15 @@ package com.google.gerrit.acceptance.rest.project;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static com.google.gerrit.acceptance.rest.project.BranchAssert.assertBranches;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.Lists;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.data.AccessSection;
 | 
			
		||||
import com.google.gerrit.common.data.Permission;
 | 
			
		||||
import com.google.gerrit.common.data.PermissionRule;
 | 
			
		||||
@@ -60,9 +57,6 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private MetaDataUpdate.Server metaDataUpdateFactory;
 | 
			
		||||
 | 
			
		||||
@@ -75,8 +69,6 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private SshSession sshSession;
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private Git git;
 | 
			
		||||
@@ -84,12 +76,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
    git = cloneProject(sshSession.getUrl() + "/" + project.get());
 | 
			
		||||
@@ -112,8 +99,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
  public void listBranchesOfNonVisibleProject_NotFound() throws IOException,
 | 
			
		||||
      OrmException, JSchException, ConfigInvalidException {
 | 
			
		||||
    blockRead(project, "refs/*");
 | 
			
		||||
    RestSession session =
 | 
			
		||||
        new RestSession(server, accounts.create("user", "user@example.com", "User"));
 | 
			
		||||
    RestSession session = new RestSession(server, accounts.user());
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
        session.get("/projects/" + project.get() + "/branches").getStatusCode());
 | 
			
		||||
  }
 | 
			
		||||
@@ -122,7 +108,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
  public void listBranchesOfEmptyProject() throws IOException, JSchException {
 | 
			
		||||
    Project.NameKey emptyProject = new Project.NameKey("empty");
 | 
			
		||||
    createProject(sshSession, emptyProject.get(), null, false);
 | 
			
		||||
    RestResponse r = session.get("/projects/" + emptyProject.get() + "/branches");
 | 
			
		||||
    RestResponse r = adminSession.get("/projects/" + emptyProject.get() + "/branches");
 | 
			
		||||
    List<BranchInfo> expected = Lists.asList(
 | 
			
		||||
        new BranchInfo("refs/meta/config",  null, false),
 | 
			
		||||
        new BranchInfo[] {
 | 
			
		||||
@@ -137,7 +123,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
    String masterCommit = git.getRepository().getRef("master").getTarget().getObjectId().getName();
 | 
			
		||||
    pushTo("refs/heads/dev");
 | 
			
		||||
    String devCommit = git.getRepository().getRef("master").getTarget().getObjectId().getName();
 | 
			
		||||
    RestResponse r = session.get("/projects/" + project.get() + "/branches");
 | 
			
		||||
    RestResponse r = adminSession.get("/projects/" + project.get() + "/branches");
 | 
			
		||||
    List<BranchInfo> expected = Lists.asList(
 | 
			
		||||
        new BranchInfo("refs/meta/config",  null, false),
 | 
			
		||||
        new BranchInfo[] {
 | 
			
		||||
@@ -190,7 +176,7 @@ public class ListBranchesIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse GET(String endpoint) throws IOException {
 | 
			
		||||
    return session.get(endpoint);
 | 
			
		||||
    return adminSession.get(endpoint);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void blockRead(Project.NameKey project, String ref)
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,8 @@ import static org.junit.Assert.assertEquals;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.server.config.AllProjectsName;
 | 
			
		||||
import com.google.gerrit.server.project.ProjectJson.ProjectInfo;
 | 
			
		||||
@@ -34,7 +31,6 @@ import com.google.inject.Inject;
 | 
			
		||||
import com.jcraft.jsch.JSchException;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.junit.Before;
 | 
			
		||||
import org.junit.Test;
 | 
			
		||||
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
@@ -43,23 +39,9 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class ListChildProjectsIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsName allProjects;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @Test
 | 
			
		||||
  public void listChildrenOfNonExistingProject_NotFound() throws IOException {
 | 
			
		||||
    assertEquals(HttpStatus.SC_NOT_FOUND,
 | 
			
		||||
@@ -117,6 +99,6 @@ public class ListChildProjectsIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private RestResponse GET(String endpoint) throws IOException {
 | 
			
		||||
    return session.get(endpoint);
 | 
			
		||||
    return adminSession.get(endpoint);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -18,14 +18,11 @@ import static com.google.gerrit.acceptance.GitUtil.checkout;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.fetch;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.RefNames;
 | 
			
		||||
import com.google.gerrit.reviewdb.server.ReviewDb;
 | 
			
		||||
@@ -46,9 +43,6 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class ProjectLevelConfigIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
@@ -62,15 +56,12 @@ public class ProjectLevelConfigIT extends AbstractDaemonTest {
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private SshSession sshSession;
 | 
			
		||||
  private String project;
 | 
			
		||||
  private Git git;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    sshSession = new SshSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    project = "p";
 | 
			
		||||
 
 | 
			
		||||
@@ -15,11 +15,9 @@
 | 
			
		||||
package com.google.gerrit.acceptance.rest.project;
 | 
			
		||||
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
@@ -40,13 +38,9 @@ import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class SetParentIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsNameProvider allProjects;
 | 
			
		||||
 | 
			
		||||
  private RestSession adminSession;
 | 
			
		||||
  private RestSession userSession;
 | 
			
		||||
  private SshSession sshSession;
 | 
			
		||||
 | 
			
		||||
@@ -54,14 +48,9 @@ public class SetParentIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    TestAccount admin = accounts.admin();
 | 
			
		||||
    adminSession = new RestSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    TestAccount user = accounts.create("user", "user@example.com", "User");
 | 
			
		||||
    TestAccount user = accounts.user();
 | 
			
		||||
    userSession = new RestSession(server, user);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    sshSession = new SshSession(server, admin);
 | 
			
		||||
    project = "p";
 | 
			
		||||
    createProject(sshSession, project, null, true);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,19 +18,15 @@ import static com.google.gerrit.acceptance.GitUtil.add;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createCommit;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.pushHead;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.ImmutableList;
 | 
			
		||||
import com.google.common.collect.Iterables;
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GitUtil.Commit;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Change;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.PatchSet;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
@@ -53,26 +49,17 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class GetRelatedIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private PushOneCommit.Factory pushFactory;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    session = new RestSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    Project.NameKey project = new Project.NameKey("p");
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    createProject(sshSession, project.get());
 | 
			
		||||
@@ -189,7 +176,7 @@ public class GetRelatedIT extends AbstractDaemonTest {
 | 
			
		||||
  private List<ChangeAndCommit> getRelated(PatchSet.Id ps) throws IOException {
 | 
			
		||||
    String url = String.format("/changes/%d/revisions/%d/related",
 | 
			
		||||
        ps.getParentKey().get(), ps.get());
 | 
			
		||||
    return newGson().fromJson(session.get(url).getReader(),
 | 
			
		||||
    return newGson().fromJson(adminSession.get(url).getReader(),
 | 
			
		||||
        RelatedInfo.class).changes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -17,17 +17,14 @@ package com.google.gerrit.acceptance.server.project;
 | 
			
		||||
import static com.google.common.base.Preconditions.checkNotNull;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.cloneProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.createProject;
 | 
			
		||||
import static com.google.gerrit.acceptance.GitUtil.initSsh;
 | 
			
		||||
import static com.google.gerrit.common.changes.ListChangesOption.DETAILED_LABELS;
 | 
			
		||||
import static com.google.gerrit.server.group.SystemGroupBackend.ANONYMOUS_USERS;
 | 
			
		||||
import static com.google.gerrit.server.project.Util.grant;
 | 
			
		||||
import static org.junit.Assert.assertEquals;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
			
		||||
import com.google.gerrit.acceptance.RestResponse;
 | 
			
		||||
import com.google.gerrit.acceptance.RestSession;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.common.data.LabelType;
 | 
			
		||||
@@ -51,7 +48,6 @@ import com.google.gwtorm.server.SchemaFactory;
 | 
			
		||||
import com.google.inject.Inject;
 | 
			
		||||
import com.google.inject.util.Providers;
 | 
			
		||||
 | 
			
		||||
import org.apache.http.HttpStatus;
 | 
			
		||||
import org.eclipse.jgit.api.Git;
 | 
			
		||||
import org.eclipse.jgit.lib.Repository;
 | 
			
		||||
import org.junit.After;
 | 
			
		||||
@@ -61,8 +57,6 @@ import org.junit.Test;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
 | 
			
		||||
public class LabelTypeIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private SchemaFactory<ReviewDb> reviewDbProvider;
 | 
			
		||||
@@ -94,18 +88,13 @@ public class LabelTypeIT extends AbstractDaemonTest {
 | 
			
		||||
  private Project.NameKey project;
 | 
			
		||||
  private LabelType codeReview;
 | 
			
		||||
  private TestAccount user;
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private RestSession session;
 | 
			
		||||
  private Git git;
 | 
			
		||||
  private ReviewDb db;
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    user = accounts.user();
 | 
			
		||||
    admin = accounts.admin();
 | 
			
		||||
    initSsh(admin);
 | 
			
		||||
    project = new Project.NameKey("p");
 | 
			
		||||
    session = new RestSession(server, user);
 | 
			
		||||
    SshSession sshSession = new SshSession(server, admin);
 | 
			
		||||
    try {
 | 
			
		||||
      createProject(sshSession, project.get());
 | 
			
		||||
@@ -389,8 +378,6 @@ public class LabelTypeIT extends AbstractDaemonTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private ChangeInfo getChange(PushOneCommit.Result pr) throws IOException {
 | 
			
		||||
    RestResponse r = session.get("/changes/" + pr.getChangeId() + "/detail");
 | 
			
		||||
    assertEquals(HttpStatus.SC_OK, r.getStatusCode());
 | 
			
		||||
    return newGson().fromJson(r.getReader(), ChangeInfo.class);
 | 
			
		||||
    return getChange(pr.getChangeId(), DETAILED_LABELS);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,8 @@ import static org.junit.Assert.assertFalse;
 | 
			
		||||
import static org.junit.Assert.assertTrue;
 | 
			
		||||
 | 
			
		||||
import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
			
		||||
import com.google.gerrit.acceptance.AccountCreator;
 | 
			
		||||
import com.google.gerrit.acceptance.GcAssert;
 | 
			
		||||
import com.google.gerrit.acceptance.SshSession;
 | 
			
		||||
import com.google.gerrit.acceptance.TestAccount;
 | 
			
		||||
import com.google.gerrit.acceptance.UseLocalDisk;
 | 
			
		||||
import com.google.gerrit.common.data.GarbageCollectionResult;
 | 
			
		||||
import com.google.gerrit.reviewdb.client.Project;
 | 
			
		||||
@@ -45,9 +43,6 @@ import java.util.Locale;
 | 
			
		||||
 | 
			
		||||
public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AccountCreator accounts;
 | 
			
		||||
 | 
			
		||||
  @Inject
 | 
			
		||||
  private AllProjectsName allProjects;
 | 
			
		||||
 | 
			
		||||
@@ -60,7 +55,6 @@ public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
  @Inject
 | 
			
		||||
  private GcAssert gcAssert;
 | 
			
		||||
 | 
			
		||||
  private TestAccount admin;
 | 
			
		||||
  private SshSession sshSession;
 | 
			
		||||
  private Project.NameKey project1;
 | 
			
		||||
  private Project.NameKey project2;
 | 
			
		||||
@@ -68,10 +62,6 @@ public class GarbageCollectionIT extends AbstractDaemonTest {
 | 
			
		||||
 | 
			
		||||
  @Before
 | 
			
		||||
  public void setUp() throws Exception {
 | 
			
		||||
    admin =
 | 
			
		||||
        accounts.create("admin", "admin@example.com", "Administrator",
 | 
			
		||||
            "Administrators");
 | 
			
		||||
 | 
			
		||||
    sshSession = new SshSession(server, admin);
 | 
			
		||||
 | 
			
		||||
    project1 = new Project.NameKey("p1");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user