Don't modify All-Projects state in acceptance tests

We would like to reuse a running server across tests, so we shouldn't
modify All-Projects in ways that might affect later methods. Read-only
operations (e.g. listing child projects) are still generally ok, as
are idempotent modifications in setUp that are expected by all test
methods.

Change-Id: I3d47da484ae92339f326bb9344986d51730ca2de
This commit is contained in:
Dave Borowitz
2015-03-27 09:48:48 -07:00
parent 0daea1b1de
commit 9ed5325b0c
9 changed files with 77 additions and 89 deletions

View File

@@ -21,23 +21,19 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.NoHttpd;
import com.google.gerrit.acceptance.PushOneCommit;
import com.google.gerrit.common.data.Permission;
import com.google.gerrit.server.git.MetaDataUpdate;
import com.google.gerrit.server.git.ProjectConfig;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
@NoHttpd
public class DraftChangeBlockedIT extends AbstractDaemonTest {
@Before
public void setUp() throws Exception {
ProjectConfig cfg = projectCache.checkedGet(allProjects).getConfig();
ProjectConfig cfg = projectCache.checkedGet(project).getConfig();
block(cfg, Permission.PUSH, ANONYMOUS_USERS, "refs/drafts/*");
saveProjectConfig(cfg);
projectCache.evict(cfg.getProject());
saveProjectConfig(project, cfg);
}
@Test
@@ -53,13 +49,4 @@ public class DraftChangeBlockedIT extends AbstractDaemonTest {
PushOneCommit.Result r = pushTo("refs/for/master%draft");
r.assertErrorStatus("cannot upload drafts");
}
private void saveProjectConfig(ProjectConfig cfg) throws IOException {
MetaDataUpdate md = metaDataUpdateFactory.create(allProjects);
try {
cfg.commit(md);
} finally {
md.close();
}
}
}