BanCommitITs: Check remote ref update status

Without this explicit check, the ref update succeeds, but this is not
immediately obvious from the failure message:

java.lang.AssertionError: Not true that null reference starts with <"contains banned commit">

Now, we see that the ref was updated when it shouldn't have been:

java.lang.AssertionError: Not true that <OK> is equal to <REJECTED_OTHER_REASON>

Change-Id: I3752568966f579617d54fb09b0cdbdeeb5aa4de9
This commit is contained in:
Dave Borowitz
2016-01-06 10:26:28 -05:00
parent dd0f6dea2f
commit bb5c68c4b9
2 changed files with 14 additions and 8 deletions

View File

@@ -16,6 +16,7 @@ package com.google.gerrit.acceptance.rest.project;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static com.google.gerrit.acceptance.GitUtil.pushHead; import static com.google.gerrit.acceptance.GitUtil.pushHead;
import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_OTHER_REASON;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.AbstractDaemonTest;
@@ -24,7 +25,7 @@ import com.google.gerrit.server.project.BanCommit;
import com.google.gerrit.server.project.BanCommit.BanResultInfo; import com.google.gerrit.server.project.BanCommit.BanResultInfo;
import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.PushResult; import org.eclipse.jgit.transport.RemoteRefUpdate;
import org.junit.Test; import org.junit.Test;
public class BanCommitIT extends AbstractDaemonTest { public class BanCommitIT extends AbstractDaemonTest {
@@ -44,9 +45,11 @@ public class BanCommitIT extends AbstractDaemonTest {
assertThat(info.alreadyBanned).isNull(); assertThat(info.alreadyBanned).isNull();
assertThat(info.ignored).isNull(); assertThat(info.ignored).isNull();
PushResult pushResult = pushHead(testRepo, "refs/heads/master", false); RemoteRefUpdate u = pushHead(testRepo, "refs/heads/master", false)
assertThat(pushResult.getRemoteUpdate("refs/heads/master").getMessage()) .getRemoteUpdate("refs/heads/master");
.startsWith("contains banned commit"); assertThat(u).isNotNull();
assertThat(u.getStatus()).isEqualTo(REJECTED_OTHER_REASON);
assertThat(u.getMessage()).startsWith("contains banned commit");
} }
@Test @Test

View File

@@ -17,12 +17,13 @@ package com.google.gerrit.acceptance.ssh;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assert_; import static com.google.common.truth.Truth.assert_;
import static com.google.gerrit.acceptance.GitUtil.pushHead; import static com.google.gerrit.acceptance.GitUtil.pushHead;
import static org.eclipse.jgit.transport.RemoteRefUpdate.Status.REJECTED_OTHER_REASON;
import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.AbstractDaemonTest;
import com.google.gerrit.acceptance.NoHttpd; import com.google.gerrit.acceptance.NoHttpd;
import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.transport.PushResult; import org.eclipse.jgit.transport.RemoteRefUpdate;
import org.junit.Test; import org.junit.Test;
import java.util.Locale; import java.util.Locale;
@@ -42,8 +43,10 @@ public class BanCommitIT extends AbstractDaemonTest {
.that(sshSession.hasError()).isFalse(); .that(sshSession.hasError()).isFalse();
assertThat(response.toLowerCase(Locale.US)).doesNotContain("error"); assertThat(response.toLowerCase(Locale.US)).doesNotContain("error");
PushResult pushResult = pushHead(testRepo, "refs/heads/master", false); RemoteRefUpdate u = pushHead(testRepo, "refs/heads/master", false)
assertThat(pushResult.getRemoteUpdate("refs/heads/master").getMessage()) .getRemoteUpdate("refs/heads/master");
.startsWith("contains banned commit"); assertThat(u).isNotNull();
assertThat(u.getStatus()).isEqualTo(REJECTED_OTHER_REASON);
assertThat(u.getMessage()).startsWith("contains banned commit");
} }
} }