ConsistencyChecker: Reindex change after fixing the change status
Add a test assertion to verify that the change has the correct status after the change status was fixed. Change-Id: I4ed5ac7109fedca942f5451e7230117cb0c0fc30 Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
		@@ -81,6 +81,11 @@ public class CheckIT extends AbstractDaemonTest {
 | 
			
		||||
    assertThat(info.problems).hasSize(1);
 | 
			
		||||
    assertThat(info.problems.get(0).status).isEqualTo(ProblemInfo.Status.FIXED);
 | 
			
		||||
    assertThat(info.status).isEqualTo(ChangeStatus.MERGED);
 | 
			
		||||
 | 
			
		||||
    info = gApi.changes()
 | 
			
		||||
        .id(r.getChangeId())
 | 
			
		||||
        .get();
 | 
			
		||||
    assertThat(info.status).isEqualTo(ChangeStatus.MERGED);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private Change getChange(PushOneCommit.Result r) throws Exception {
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,7 @@ import com.google.gerrit.server.git.BatchUpdate;
 | 
			
		||||
import com.google.gerrit.server.git.GitRepositoryManager;
 | 
			
		||||
import com.google.gerrit.server.git.UpdateException;
 | 
			
		||||
import com.google.gerrit.server.git.validators.CommitValidators;
 | 
			
		||||
import com.google.gerrit.server.index.ChangeIndexer;
 | 
			
		||||
import com.google.gerrit.server.patch.PatchSetInfoFactory;
 | 
			
		||||
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
 | 
			
		||||
import com.google.gerrit.server.project.NoSuchProjectException;
 | 
			
		||||
@@ -114,6 +115,7 @@ public class ConsistencyChecker {
 | 
			
		||||
  private final PatchSetInfoFactory patchSetInfoFactory;
 | 
			
		||||
  private final PatchSetInserter.Factory patchSetInserterFactory;
 | 
			
		||||
  private final BatchUpdate.Factory updateFactory;
 | 
			
		||||
  private final ChangeIndexer indexer;
 | 
			
		||||
 | 
			
		||||
  private FixInput fix;
 | 
			
		||||
  private Change change;
 | 
			
		||||
@@ -135,7 +137,8 @@ public class ConsistencyChecker {
 | 
			
		||||
      ProjectControl.GenericFactory projectControlFactory,
 | 
			
		||||
      PatchSetInfoFactory patchSetInfoFactory,
 | 
			
		||||
      PatchSetInserter.Factory patchSetInserterFactory,
 | 
			
		||||
      BatchUpdate.Factory updateFactory) {
 | 
			
		||||
      BatchUpdate.Factory updateFactory,
 | 
			
		||||
      ChangeIndexer indexer) {
 | 
			
		||||
    this.db = db;
 | 
			
		||||
    this.repoManager = repoManager;
 | 
			
		||||
    this.user = user;
 | 
			
		||||
@@ -144,6 +147,7 @@ public class ConsistencyChecker {
 | 
			
		||||
    this.patchSetInfoFactory = patchSetInfoFactory;
 | 
			
		||||
    this.patchSetInserterFactory = patchSetInserterFactory;
 | 
			
		||||
    this.updateFactory = updateFactory;
 | 
			
		||||
    this.indexer = indexer;
 | 
			
		||||
    reset();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -507,9 +511,10 @@ public class ConsistencyChecker {
 | 
			
		||||
              return c;
 | 
			
		||||
            }
 | 
			
		||||
          });
 | 
			
		||||
      indexer.index(db.get(), change);
 | 
			
		||||
      p.status = Status.FIXED;
 | 
			
		||||
      p.outcome = "Marked change as merged";
 | 
			
		||||
    } catch (OrmException e) {
 | 
			
		||||
    } catch (OrmException | IOException e) {
 | 
			
		||||
      log.warn("Error marking " + change.getId() + "as merged", e);
 | 
			
		||||
      p.status = Status.FIX_FAILED;
 | 
			
		||||
      p.outcome = "Error updating status to merged";
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user