Merge "Configure ProjectResetter through a plain data class."
This commit is contained in:
		@@ -201,7 +201,12 @@ public abstract class AbstractDaemonTest {
 | 
				
			|||||||
                firstTest = description;
 | 
					                firstTest = description;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
              beforeTest(description);
 | 
					              beforeTest(description);
 | 
				
			||||||
              try (ProjectResetter resetter = resetProjects(projectResetter.builder())) {
 | 
					              ProjectResetter.Config input = resetProjects();
 | 
				
			||||||
 | 
					              if (input == null) {
 | 
				
			||||||
 | 
					                input = defaultResetProjects();
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              try (ProjectResetter resetter = projectResetter.builder().build(input)) {
 | 
				
			||||||
                AbstractDaemonTest.this.resetter = resetter;
 | 
					                AbstractDaemonTest.this.resetter = resetter;
 | 
				
			||||||
                base.evaluate();
 | 
					                base.evaluate();
 | 
				
			||||||
              } finally {
 | 
					              } finally {
 | 
				
			||||||
@@ -317,8 +322,12 @@ public abstract class AbstractDaemonTest {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /** Controls which project and branches should be reset after each test case. */
 | 
					  /** Controls which project and branches should be reset after each test case. */
 | 
				
			||||||
  protected ProjectResetter resetProjects(ProjectResetter.Builder resetter) throws IOException {
 | 
					  protected ProjectResetter.Config resetProjects() {
 | 
				
			||||||
    return resetter
 | 
					    return null;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private ProjectResetter.Config defaultResetProjects() {
 | 
				
			||||||
 | 
					    return new ProjectResetter.Config()
 | 
				
			||||||
        // Don't reset all refs so that refs/sequences/changes is not touched and change IDs are
 | 
					        // Don't reset all refs so that refs/sequences/changes is not touched and change IDs are
 | 
				
			||||||
        // not reused.
 | 
					        // not reused.
 | 
				
			||||||
        .reset(allProjects, RefNames.REFS_CONFIG)
 | 
					        .reset(allProjects, RefNames.REFS_CONFIG)
 | 
				
			||||||
@@ -331,8 +340,7 @@ public abstract class AbstractDaemonTest {
 | 
				
			|||||||
            RefNames.REFS_USERS + "*",
 | 
					            RefNames.REFS_USERS + "*",
 | 
				
			||||||
            RefNames.REFS_EXTERNAL_IDS,
 | 
					            RefNames.REFS_EXTERNAL_IDS,
 | 
				
			||||||
            RefNames.REFS_STARRED_CHANGES + "*",
 | 
					            RefNames.REFS_STARRED_CHANGES + "*",
 | 
				
			||||||
            RefNames.REFS_DRAFT_COMMENTS + "*")
 | 
					            RefNames.REFS_DRAFT_COMMENTS + "*");
 | 
				
			||||||
        .build();
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  protected void restartAsSlave() throws Exception {
 | 
					  protected void restartAsSlave() throws Exception {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,7 +25,6 @@ import com.google.common.collect.ImmutableList;
 | 
				
			|||||||
import com.google.common.truth.FailureMetadata;
 | 
					import com.google.common.truth.FailureMetadata;
 | 
				
			||||||
import com.google.common.truth.Subject;
 | 
					import com.google.common.truth.Subject;
 | 
				
			||||||
import com.google.common.truth.Truth;
 | 
					import com.google.common.truth.Truth;
 | 
				
			||||||
import com.google.gerrit.acceptance.ProjectResetter.Builder;
 | 
					 | 
				
			||||||
import com.google.gerrit.common.Nullable;
 | 
					import com.google.gerrit.common.Nullable;
 | 
				
			||||||
import com.google.gerrit.extensions.api.changes.RecipientType;
 | 
					import com.google.gerrit.extensions.api.changes.RecipientType;
 | 
				
			||||||
import com.google.gerrit.extensions.api.changes.ReviewInput;
 | 
					import com.google.gerrit.extensions.api.changes.ReviewInput;
 | 
				
			||||||
@@ -63,10 +62,10 @@ public abstract class AbstractNotificationTest extends AbstractDaemonTest {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Override
 | 
					  @Override
 | 
				
			||||||
  protected ProjectResetter resetProjects(Builder resetter) throws IOException {
 | 
					  protected ProjectResetter.Config resetProjects() {
 | 
				
			||||||
    // Don't reset anything so that stagedUsers can be cached across all tests.
 | 
					    // Don't reset anything so that stagedUsers can be cached across all tests.
 | 
				
			||||||
    // Without this caching these tests become much too slow.
 | 
					    // Without this caching these tests become much too slow.
 | 
				
			||||||
    return resetter.build();
 | 
					    return new ProjectResetter.Config();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  protected static FakeEmailSenderSubject assertThat(FakeEmailSender sender) {
 | 
					  protected static FakeEmailSenderSubject assertThat(FakeEmailSender sender) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -88,8 +88,6 @@ public class ProjectResetter implements AutoCloseable {
 | 
				
			|||||||
    @Nullable private final AccountCache accountCache;
 | 
					    @Nullable private final AccountCache accountCache;
 | 
				
			||||||
    @Nullable private final ProjectCache projectCache;
 | 
					    @Nullable private final ProjectCache projectCache;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final Multimap<Project.NameKey, String> refsByProject;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @Inject
 | 
					    @Inject
 | 
				
			||||||
    public Builder(
 | 
					    public Builder(
 | 
				
			||||||
        GitRepositoryManager repoManager,
 | 
					        GitRepositoryManager repoManager,
 | 
				
			||||||
@@ -102,10 +100,27 @@ public class ProjectResetter implements AutoCloseable {
 | 
				
			|||||||
      this.accountCreator = accountCreator;
 | 
					      this.accountCreator = accountCreator;
 | 
				
			||||||
      this.accountCache = accountCache;
 | 
					      this.accountCache = accountCache;
 | 
				
			||||||
      this.projectCache = projectCache;
 | 
					      this.projectCache = projectCache;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public ProjectResetter build(ProjectResetter.Config input) throws IOException {
 | 
				
			||||||
 | 
					      return new ProjectResetter(
 | 
				
			||||||
 | 
					          repoManager,
 | 
				
			||||||
 | 
					          allUsersName,
 | 
				
			||||||
 | 
					          accountCreator,
 | 
				
			||||||
 | 
					          accountCache,
 | 
				
			||||||
 | 
					          projectCache,
 | 
				
			||||||
 | 
					          input.refsByProject);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  public static class Config {
 | 
				
			||||||
 | 
					    private final Multimap<Project.NameKey, String> refsByProject;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Config() {
 | 
				
			||||||
      this.refsByProject = MultimapBuilder.hashKeys().arrayListValues().build();
 | 
					      this.refsByProject = MultimapBuilder.hashKeys().arrayListValues().build();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public Builder reset(Project.NameKey project, String... refPatterns) {
 | 
					    public Config reset(Project.NameKey project, String... refPatterns) {
 | 
				
			||||||
      List<String> refPatternList = Arrays.asList(refPatterns);
 | 
					      List<String> refPatternList = Arrays.asList(refPatterns);
 | 
				
			||||||
      if (refPatternList.isEmpty()) {
 | 
					      if (refPatternList.isEmpty()) {
 | 
				
			||||||
        refPatternList = ImmutableList.of(RefNames.REFS + "*");
 | 
					        refPatternList = ImmutableList.of(RefNames.REFS + "*");
 | 
				
			||||||
@@ -113,11 +128,6 @@ public class ProjectResetter implements AutoCloseable {
 | 
				
			|||||||
      refsByProject.putAll(project, refPatternList);
 | 
					      refsByProject.putAll(project, refPatternList);
 | 
				
			||||||
      return this;
 | 
					      return this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					 | 
				
			||||||
    public ProjectResetter build() throws IOException {
 | 
					 | 
				
			||||||
      return new ProjectResetter(
 | 
					 | 
				
			||||||
          repoManager, allUsersName, accountCreator, accountCache, projectCache, refsByProject);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Inject private GitRepositoryManager repoManager;
 | 
					  @Inject private GitRepositoryManager repoManager;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,7 +71,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
  public void resetAllRefs() throws Exception {
 | 
					  public void resetAllRefs() throws Exception {
 | 
				
			||||||
    Ref matchingRef = createRef("refs/any/test");
 | 
					    Ref matchingRef = createRef("refs/any/test");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject = builder().reset(project).build()) {
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
 | 
					        builder().build(new ProjectResetter.Config().reset(project))) {
 | 
				
			||||||
      updateRef(matchingRef);
 | 
					      updateRef(matchingRef);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -87,7 +88,10 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Ref updatedNonMatchingRef;
 | 
					    Ref updatedNonMatchingRef;
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder().reset(project, "refs/match/*", "refs/another-match/*").build()) {
 | 
					        builder()
 | 
				
			||||||
 | 
					            .build(
 | 
				
			||||||
 | 
					                new ProjectResetter.Config()
 | 
				
			||||||
 | 
					                    .reset(project, "refs/match/*", "refs/another-match/*"))) {
 | 
				
			||||||
      updateRef(matchingRef);
 | 
					      updateRef(matchingRef);
 | 
				
			||||||
      updateRef(anotherMatchingRef);
 | 
					      updateRef(anotherMatchingRef);
 | 
				
			||||||
      updatedNonMatchingRef = updateRef(nonMatchingRef);
 | 
					      updatedNonMatchingRef = updateRef(nonMatchingRef);
 | 
				
			||||||
@@ -107,7 +111,10 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref anotherMatchingRef;
 | 
					    Ref anotherMatchingRef;
 | 
				
			||||||
    Ref nonMatchingRef;
 | 
					    Ref nonMatchingRef;
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder().reset(project, "refs/match/*", "refs/another-match/*").build()) {
 | 
					        builder()
 | 
				
			||||||
 | 
					            .build(
 | 
				
			||||||
 | 
					                new ProjectResetter.Config()
 | 
				
			||||||
 | 
					                    .reset(project, "refs/match/*", "refs/another-match/*"))) {
 | 
				
			||||||
      matchingRef = createRef("refs/match/test");
 | 
					      matchingRef = createRef("refs/match/test");
 | 
				
			||||||
      anotherMatchingRef = createRef("refs/another-match/test");
 | 
					      anotherMatchingRef = createRef("refs/another-match/test");
 | 
				
			||||||
      nonMatchingRef = createRef("refs/no-match/test");
 | 
					      nonMatchingRef = createRef("refs/no-match/test");
 | 
				
			||||||
@@ -135,7 +142,11 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref updatedNonMatchingRefProject1;
 | 
					    Ref updatedNonMatchingRefProject1;
 | 
				
			||||||
    Ref updatedNonMatchingRefProject2;
 | 
					    Ref updatedNonMatchingRefProject2;
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder().reset(project, "refs/foo/*").reset(project2, "refs/bar/*").build()) {
 | 
					        builder()
 | 
				
			||||||
 | 
					            .build(
 | 
				
			||||||
 | 
					                new ProjectResetter.Config()
 | 
				
			||||||
 | 
					                    .reset(project, "refs/foo/*")
 | 
				
			||||||
 | 
					                    .reset(project2, "refs/bar/*"))) {
 | 
				
			||||||
      updateRef(matchingRefProject1);
 | 
					      updateRef(matchingRefProject1);
 | 
				
			||||||
      updatedNonMatchingRefProject1 = updateRef(nonMatchingRefProject1);
 | 
					      updatedNonMatchingRefProject1 = updateRef(nonMatchingRefProject1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -162,7 +173,11 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref matchingRefProject2;
 | 
					    Ref matchingRefProject2;
 | 
				
			||||||
    Ref nonMatchingRefProject2;
 | 
					    Ref nonMatchingRefProject2;
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder().reset(project, "refs/foo/*").reset(project2, "refs/bar/*").build()) {
 | 
					        builder()
 | 
				
			||||||
 | 
					            .build(
 | 
				
			||||||
 | 
					                new ProjectResetter.Config()
 | 
				
			||||||
 | 
					                    .reset(project, "refs/foo/*")
 | 
				
			||||||
 | 
					                    .reset(project2, "refs/bar/*"))) {
 | 
				
			||||||
      matchingRefProject1 = createRef("refs/foo/test");
 | 
					      matchingRefProject1 = createRef("refs/foo/test");
 | 
				
			||||||
      nonMatchingRefProject1 = createRef("refs/bar/test");
 | 
					      nonMatchingRefProject1 = createRef("refs/bar/test");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -183,7 +198,9 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
  public void onlyDeleteNewlyCreatedWithOverlappingRefPatterns() throws Exception {
 | 
					  public void onlyDeleteNewlyCreatedWithOverlappingRefPatterns() throws Exception {
 | 
				
			||||||
    Ref matchingRef;
 | 
					    Ref matchingRef;
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder().reset(project, "refs/match/*", "refs/match/test").build()) {
 | 
					        builder()
 | 
				
			||||||
 | 
					            .build(
 | 
				
			||||||
 | 
					                new ProjectResetter.Config().reset(project, "refs/match/*", "refs/match/test"))) {
 | 
				
			||||||
      // This ref matches 2 ref pattern, ProjectResetter should try to delete it only once.
 | 
					      // This ref matches 2 ref pattern, ProjectResetter should try to delete it only once.
 | 
				
			||||||
      matchingRef = createRef("refs/match/test");
 | 
					      matchingRef = createRef("refs/match/test");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -206,7 +223,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref nonMetaConfig = createRef("refs/heads/master");
 | 
					    Ref nonMetaConfig = createRef("refs/heads/master");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, null, projectCache).reset(project).reset(project2).build()) {
 | 
					        builder(null, null, projectCache)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(project2))) {
 | 
				
			||||||
      updateRef(nonMetaConfig);
 | 
					      updateRef(nonMetaConfig);
 | 
				
			||||||
      updateRef(repo2, metaConfig);
 | 
					      updateRef(repo2, metaConfig);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -225,7 +243,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    EasyMock.replay(projectCache);
 | 
					    EasyMock.replay(projectCache);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, null, projectCache).reset(project).reset(project2).build()) {
 | 
					        builder(null, null, projectCache)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(project2))) {
 | 
				
			||||||
      createRef("refs/heads/master");
 | 
					      createRef("refs/heads/master");
 | 
				
			||||||
      createRef(repo2, RefNames.REFS_CONFIG);
 | 
					      createRef(repo2, RefNames.REFS_CONFIG);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -249,7 +268,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(2)));
 | 
					    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(2)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, accountCache, null).reset(project).reset(allUsers).build()) {
 | 
					        builder(null, accountCache, null)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(allUsers))) {
 | 
				
			||||||
      updateRef(nonUserBranch);
 | 
					      updateRef(nonUserBranch);
 | 
				
			||||||
      updateRef(allUsersRepo, userBranch);
 | 
					      updateRef(allUsersRepo, userBranch);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -269,7 +289,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    EasyMock.replay(accountCache);
 | 
					    EasyMock.replay(accountCache);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, accountCache, null).reset(project).reset(allUsers).build()) {
 | 
					        builder(null, accountCache, null)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(allUsers))) {
 | 
				
			||||||
      // Non-user branch because it's not in All-Users.
 | 
					      // Non-user branch because it's not in All-Users.
 | 
				
			||||||
      createRef(RefNames.refsUsers(new Account.Id(2)));
 | 
					      createRef(RefNames.refsUsers(new Account.Id(2)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -300,7 +321,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(3)));
 | 
					    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(3)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, accountCache, null).reset(project).reset(allUsers).build()) {
 | 
					        builder(null, accountCache, null)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(allUsers))) {
 | 
				
			||||||
      updateRef(nonUserBranch);
 | 
					      updateRef(nonUserBranch);
 | 
				
			||||||
      updateRef(allUsersRepo, externalIds);
 | 
					      updateRef(allUsersRepo, externalIds);
 | 
				
			||||||
      createRef(allUsersRepo, RefNames.refsUsers(accountId2));
 | 
					      createRef(allUsersRepo, RefNames.refsUsers(accountId2));
 | 
				
			||||||
@@ -329,7 +351,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(3)));
 | 
					    Ref nonUserBranch = createRef(RefNames.refsUsers(new Account.Id(3)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(null, accountCache, null).reset(project).reset(allUsers).build()) {
 | 
					        builder(null, accountCache, null)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(allUsers))) {
 | 
				
			||||||
      updateRef(nonUserBranch);
 | 
					      updateRef(nonUserBranch);
 | 
				
			||||||
      createRef(allUsersRepo, RefNames.REFS_EXTERNAL_IDS);
 | 
					      createRef(allUsersRepo, RefNames.REFS_EXTERNAL_IDS);
 | 
				
			||||||
      createRef(allUsersRepo, RefNames.refsUsers(accountId2));
 | 
					      createRef(allUsersRepo, RefNames.refsUsers(accountId2));
 | 
				
			||||||
@@ -350,7 +373,8 @@ public class ProjectResetterTest extends GerritBaseTests {
 | 
				
			|||||||
    EasyMock.replay(accountCreator);
 | 
					    EasyMock.replay(accountCreator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try (ProjectResetter resetProject =
 | 
					    try (ProjectResetter resetProject =
 | 
				
			||||||
        builder(accountCreator, null, null).reset(project).reset(allUsers).build()) {
 | 
					        builder(accountCreator, null, null)
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(project).reset(allUsers))) {
 | 
				
			||||||
      createRef(allUsersRepo, RefNames.refsUsers(accountId));
 | 
					      createRef(allUsersRepo, RefNames.refsUsers(accountId));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,7 +40,6 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
 | 
				
			|||||||
import com.google.gerrit.acceptance.GerritConfig;
 | 
					import com.google.gerrit.acceptance.GerritConfig;
 | 
				
			||||||
import com.google.gerrit.acceptance.NoHttpd;
 | 
					import com.google.gerrit.acceptance.NoHttpd;
 | 
				
			||||||
import com.google.gerrit.acceptance.ProjectResetter;
 | 
					import com.google.gerrit.acceptance.ProjectResetter;
 | 
				
			||||||
import com.google.gerrit.acceptance.ProjectResetter.Builder;
 | 
					 | 
				
			||||||
import com.google.gerrit.acceptance.PushOneCommit;
 | 
					import com.google.gerrit.acceptance.PushOneCommit;
 | 
				
			||||||
import com.google.gerrit.acceptance.Sandboxed;
 | 
					import com.google.gerrit.acceptance.Sandboxed;
 | 
				
			||||||
import com.google.gerrit.acceptance.TestAccount;
 | 
					import com.google.gerrit.acceptance.TestAccount;
 | 
				
			||||||
@@ -166,11 +165,11 @@ public class GroupsIT extends AbstractDaemonTest {
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Override
 | 
					  @Override
 | 
				
			||||||
  protected ProjectResetter resetProjects(Builder resetter) throws IOException {
 | 
					  protected ProjectResetter.Config resetProjects() {
 | 
				
			||||||
    // Don't reset All-Users since deleting users makes groups inconsistent (e.g. groups would
 | 
					    // Don't reset All-Users since deleting users makes groups inconsistent (e.g. groups would
 | 
				
			||||||
    // contain members that no longer exist) and as result of this the group consistency checker
 | 
					    // contain members that no longer exist) and as result of this the group consistency checker
 | 
				
			||||||
    // that is executed after each test would fail.
 | 
					    // that is executed after each test would fail.
 | 
				
			||||||
    return resetter.reset(allProjects, RefNames.REFS_CONFIG).build();
 | 
					    return new ProjectResetter.Config().reset(allProjects, RefNames.REFS_CONFIG);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @Test
 | 
					  @Test
 | 
				
			||||||
@@ -1076,7 +1075,9 @@ public class GroupsIT extends AbstractDaemonTest {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // Use ProjectResetter to restore the group names ref
 | 
					    // Use ProjectResetter to restore the group names ref
 | 
				
			||||||
    try (ProjectResetter resetter =
 | 
					    try (ProjectResetter resetter =
 | 
				
			||||||
        projectResetter.builder().reset(allUsers, RefNames.REFS_GROUPNAMES).build()) {
 | 
					        projectResetter
 | 
				
			||||||
 | 
					            .builder()
 | 
				
			||||||
 | 
					            .build(new ProjectResetter.Config().reset(allUsers, RefNames.REFS_GROUPNAMES))) {
 | 
				
			||||||
      // Manually delete group names ref
 | 
					      // Manually delete group names ref
 | 
				
			||||||
      try (Repository repo = repoManager.openRepository(allUsers);
 | 
					      try (Repository repo = repoManager.openRepository(allUsers);
 | 
				
			||||||
          RevWalk rw = new RevWalk(repo)) {
 | 
					          RevWalk rw = new RevWalk(repo)) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -785,7 +785,8 @@ public class RefAdvertisementIT extends AbstractDaemonTest {
 | 
				
			|||||||
  private ProjectResetter resetGroups() throws IOException {
 | 
					  private ProjectResetter resetGroups() throws IOException {
 | 
				
			||||||
    return projectResetter
 | 
					    return projectResetter
 | 
				
			||||||
        .builder()
 | 
					        .builder()
 | 
				
			||||||
        .reset(allUsers, RefNames.REFS_GROUPS + "*", RefNames.REFS_GROUPNAMES)
 | 
					        .build(
 | 
				
			||||||
        .build();
 | 
					            new ProjectResetter.Config()
 | 
				
			||||||
 | 
					                .reset(allUsers, RefNames.REFS_GROUPS + "*", RefNames.REFS_GROUPNAMES));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user