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).hasSize(1);
|
||||||
assertThat(info.problems.get(0).status).isEqualTo(ProblemInfo.Status.FIXED);
|
assertThat(info.problems.get(0).status).isEqualTo(ProblemInfo.Status.FIXED);
|
||||||
assertThat(info.status).isEqualTo(ChangeStatus.MERGED);
|
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 {
|
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.GitRepositoryManager;
|
||||||
import com.google.gerrit.server.git.UpdateException;
|
import com.google.gerrit.server.git.UpdateException;
|
||||||
import com.google.gerrit.server.git.validators.CommitValidators;
|
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.PatchSetInfoFactory;
|
||||||
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
|
||||||
import com.google.gerrit.server.project.NoSuchProjectException;
|
import com.google.gerrit.server.project.NoSuchProjectException;
|
||||||
@@ -114,6 +115,7 @@ public class ConsistencyChecker {
|
|||||||
private final PatchSetInfoFactory patchSetInfoFactory;
|
private final PatchSetInfoFactory patchSetInfoFactory;
|
||||||
private final PatchSetInserter.Factory patchSetInserterFactory;
|
private final PatchSetInserter.Factory patchSetInserterFactory;
|
||||||
private final BatchUpdate.Factory updateFactory;
|
private final BatchUpdate.Factory updateFactory;
|
||||||
|
private final ChangeIndexer indexer;
|
||||||
|
|
||||||
private FixInput fix;
|
private FixInput fix;
|
||||||
private Change change;
|
private Change change;
|
||||||
@@ -135,7 +137,8 @@ public class ConsistencyChecker {
|
|||||||
ProjectControl.GenericFactory projectControlFactory,
|
ProjectControl.GenericFactory projectControlFactory,
|
||||||
PatchSetInfoFactory patchSetInfoFactory,
|
PatchSetInfoFactory patchSetInfoFactory,
|
||||||
PatchSetInserter.Factory patchSetInserterFactory,
|
PatchSetInserter.Factory patchSetInserterFactory,
|
||||||
BatchUpdate.Factory updateFactory) {
|
BatchUpdate.Factory updateFactory,
|
||||||
|
ChangeIndexer indexer) {
|
||||||
this.db = db;
|
this.db = db;
|
||||||
this.repoManager = repoManager;
|
this.repoManager = repoManager;
|
||||||
this.user = user;
|
this.user = user;
|
||||||
@@ -144,6 +147,7 @@ public class ConsistencyChecker {
|
|||||||
this.patchSetInfoFactory = patchSetInfoFactory;
|
this.patchSetInfoFactory = patchSetInfoFactory;
|
||||||
this.patchSetInserterFactory = patchSetInserterFactory;
|
this.patchSetInserterFactory = patchSetInserterFactory;
|
||||||
this.updateFactory = updateFactory;
|
this.updateFactory = updateFactory;
|
||||||
|
this.indexer = indexer;
|
||||||
reset();
|
reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -507,9 +511,10 @@ public class ConsistencyChecker {
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
indexer.index(db.get(), change);
|
||||||
p.status = Status.FIXED;
|
p.status = Status.FIXED;
|
||||||
p.outcome = "Marked change as merged";
|
p.outcome = "Marked change as merged";
|
||||||
} catch (OrmException e) {
|
} catch (OrmException | IOException e) {
|
||||||
log.warn("Error marking " + change.getId() + "as merged", e);
|
log.warn("Error marking " + change.getId() + "as merged", e);
|
||||||
p.status = Status.FIX_FAILED;
|
p.status = Status.FIX_FAILED;
|
||||||
p.outcome = "Error updating status to merged";
|
p.outcome = "Error updating status to merged";
|
||||||
|
|||||||
Reference in New Issue
Block a user