OnCodeOwnerApproval/OnCodeOwnerOverride: Remove wrong error log
We wrongly throught that this code was unreachable and that reaching it
would be an error. Add a test case that hits this code and drop the
wrong error log.
Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I3adba5cb1ba2e7e50a7d3313b40e5745075da155
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerApproval.java b/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerApproval.java
index dff2876..1cf59ce 100644
--- a/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerApproval.java
+++ b/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerApproval.java
@@ -199,16 +199,7 @@
newVote, user.getName()));
}
} else {
- logger.atSevere().log(
- "code owner approval was neither newly applied, removed, upgraded nor downgraded:"
- + " project = %s, change = %s, patch set = %d, oldApprvals = %s, approvals = %s,"
- + " requiredApproval = %s",
- changeNotes.getProjectName(),
- changeNotes.getChangeId(),
- patchSet.id().get(),
- oldApprovals,
- approvals,
- requiredApproval);
+ // non-approval was downgraded (e.g. -1 to -2)
return Optional.empty();
}
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerOverride.java b/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerOverride.java
index 52ca037..8a8c702 100644
--- a/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerOverride.java
+++ b/java/com/google/gerrit/plugins/codeowners/backend/OnCodeOwnerOverride.java
@@ -20,7 +20,6 @@
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
-import com.google.common.flogger.FluentLogger;
import com.google.gerrit.entities.PatchSet;
import com.google.gerrit.plugins.codeowners.backend.config.CodeOwnersPluginConfiguration;
import com.google.gerrit.plugins.codeowners.backend.config.RequiredApproval;
@@ -44,8 +43,6 @@
*/
@Singleton
class OnCodeOwnerOverride implements OnPostReview {
- private static final FluentLogger logger = FluentLogger.forEnclosingClass();
-
private final CodeOwnersPluginConfiguration codeOwnersPluginConfiguration;
@Inject
@@ -82,8 +79,7 @@
continue;
}
- buildMessageForCodeOwnerOverride(
- user, changeNotes, patchSet, oldApprovals, approvals, overrideApproval)
+ buildMessageForCodeOwnerOverride(user, patchSet, oldApprovals, approvals, overrideApproval)
.ifPresent(messages::add);
}
@@ -95,7 +91,6 @@
private Optional<String> buildMessageForCodeOwnerOverride(
IdentifiedUser user,
- ChangeNotes changeNotes,
PatchSet patchSet,
Map<String, Short> oldApprovals,
Map<String, Short> approvals,
@@ -137,16 +132,7 @@
"By voting %s the code-owners submit requirement is still overridden by %s",
newVote, user.getName()));
}
- logger.atSevere().log(
- "code owner override was neither newly applied, removed, upgraded nor downgraded:"
- + " project = %s, change = %s, patch set = %d, oldApprvals = %s, approvals = %s,"
- + " requiredApproval = %s",
- changeNotes.getProjectName(),
- changeNotes.getChangeId(),
- patchSet.id().get(),
- oldApprovals,
- approvals,
- overrideApproval);
+ // non-approval was downgraded (e.g. -1 to -2)
return Optional.empty();
}
diff --git a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerApprovalIT.java b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerApprovalIT.java
index 79b3924..971f8e9 100644
--- a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerApprovalIT.java
+++ b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerApprovalIT.java
@@ -1061,4 +1061,28 @@
+ "* %s\n",
user.fullName(), path));
}
+
+ @Test
+ public void changeMessageNotExtendedIfNonApprovalIsDowngraded() throws Exception {
+ codeOwnerConfigOperations
+ .newCodeOwnerConfig()
+ .project(project)
+ .branch("master")
+ .folderPath("/foo/")
+ .addCodeOwnerEmail(admin.email())
+ .create();
+
+ String path = "foo/bar.baz";
+ String changeId = createChange("Test Change", path, "file content").getChangeId();
+
+ // Apply the Code-Review-1.
+ gApi.changes().id(changeId).current().review(ReviewInput.dislike());
+
+ // Change Code-Review-1 to Code-Review-2
+ gApi.changes().id(changeId).current().review(ReviewInput.reject());
+
+ Collection<ChangeMessageInfo> messages = gApi.changes().id(changeId).get().messages;
+
+ assertThat(Iterables.getLast(messages).message).isEqualTo("Patch Set 1: Code-Review-2");
+ }
}
diff --git a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerOverrrideIT.java b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerOverrrideIT.java
index 5f17972..1265466 100644
--- a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerOverrrideIT.java
+++ b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/OnCodeOwnerOverrrideIT.java
@@ -599,4 +599,45 @@
+ "By voting Owners-Override+1 the code-owners submit requirement is overridden by %s\n",
user.fullName()));
}
+
+ @Test
+ @GerritConfig(name = "plugin.code-owners.overrideApproval", value = "Owners-Override+1")
+ public void changeMessageNotExtendedIfNonApprovalIsDowngraded() throws Exception {
+ LabelDefinitionInput input = new LabelDefinitionInput();
+ input.values =
+ ImmutableMap.of("+1", "Override", " 0", "No Override", "-1", "Dislike", "-2", "Blocked");
+ gApi.projects().name(project.get()).label("Owners-Override").create(input);
+
+ // Allow to vote on the Owners-Override label.
+ projectOperations
+ .project(project)
+ .forUpdate()
+ .add(
+ TestProjectUpdate.allowLabel("Owners-Override")
+ .range(-2, 1)
+ .ref("refs/*")
+ .group(REGISTERED_USERS)
+ .build())
+ .update();
+
+ codeOwnerConfigOperations
+ .newCodeOwnerConfig()
+ .project(project)
+ .branch("master")
+ .folderPath("/foo/")
+ .addCodeOwnerEmail(admin.email())
+ .create();
+
+ String path = "foo/bar.baz";
+ String changeId = createChange("Test Change", path, "file content").getChangeId();
+
+ gApi.changes().id(changeId).current().review(new ReviewInput().label("Owners-Override", -1));
+
+ // Downgrade the vote from -1 to -2.
+ gApi.changes().id(changeId).current().review(new ReviewInput().label("Owners-Override", -2));
+
+ Collection<ChangeMessageInfo> messages = gApi.changes().id(changeId).get().messages;
+
+ assertThat(Iterables.getLast(messages).message).isEqualTo("Patch Set 1: Owners-Override-2");
+ }
}