Merge "convert done() to async/await"
diff --git a/java/com/google/gerrit/server/approval/ApprovalInference.java b/java/com/google/gerrit/server/approval/ApprovalInference.java
index 0185598..4635464 100644
--- a/java/com/google/gerrit/server/approval/ApprovalInference.java
+++ b/java/com/google/gerrit/server/approval/ApprovalInference.java
@@ -129,18 +129,7 @@
int n = psa.key().patchSetId().get();
checkArgument(n != psId.get());
- if (type == null) {
- logger.atFine().log(
- "approval %d on label %s of patch set %d of change %d cannot be copied"
- + " to patch set %d because the label no longer exists on project %s",
- psa.value(),
- psa.label(),
- n,
- psa.key().patchSetId().changeId().get(),
- psId.get(),
- project.getName());
- return false;
- } else if (type.isCopyMinScore() && type.isMaxNegative(psa)) {
+ if (type.isCopyMinScore() && type.isMaxNegative(psa)) {
logger.atFine().log(
"veto approval %s on label %s of patch set %d of change %d can be copied"
+ " to patch set %d because the label has set copyMinScore = true on project %s",
@@ -414,6 +403,18 @@
if (patchList == null && type != null && type.isCopyAllScoresIfListOfFilesDidNotChange()) {
patchList = getPatchList(project, ps, priorPatchSet);
}
+ if (type == null) {
+ logger.atFine().log(
+ "approval %d on label %s of patch set %d of change %d cannot be copied"
+ + " to patch set %d because the label no longer exists on project %s",
+ psa.value(),
+ psa.label(),
+ psa.key().patchSetId().get(),
+ psa.key().patchSetId().changeId().get(),
+ psId.get(),
+ project.getName());
+ continue;
+ }
if (!canCopyBasedOnBooleanLabelConfigs(project, psa, ps.id(), kind, type, patchList)
&& !canCopyBasedOnCopyCondition(notes, psa, ps.id(), type, kind)) {
continue;
diff --git a/javatests/com/google/gerrit/acceptance/rest/project/DeleteLabelIT.java b/javatests/com/google/gerrit/acceptance/rest/project/DeleteLabelIT.java
index c2db9f1..491a0d5 100644
--- a/javatests/com/google/gerrit/acceptance/rest/project/DeleteLabelIT.java
+++ b/javatests/com/google/gerrit/acceptance/rest/project/DeleteLabelIT.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.gerrit.acceptance.testsuite.project.TestProjectUpdate.allow;
+import static com.google.gerrit.extensions.client.ListChangesOption.DETAILED_LABELS;
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
import static com.google.gerrit.testing.GerritJUnit.assertThrows;
@@ -109,4 +110,16 @@
projectOperations.project(allProjects).getHead(RefNames.REFS_CONFIG).getShortMessage())
.isEqualTo("Delete Code-Review label");
}
+
+ @Test
+ public void deletedLabelDoesNotThrowExceptions_approvalInference() throws Exception {
+ String changeId = createChange().getChangeId();
+ approve(changeId);
+ gApi.projects().name(allProjects.get()).label(LabelId.CODE_REVIEW).delete();
+
+ amendChange(changeId);
+
+ // Assert no throws.
+ gApi.changes().id(changeId).get(DETAILED_LABELS);
+ }
}