summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <dpursehouse@collab.net>2016-05-18 08:55:52 +0900
committerDavid Pursehouse <dpursehouse@collab.net>2016-05-20 04:00:12 +0000
commit5868dbc99cc360a7ef9328ea4c9a306828f9b19f (patch)
tree947cc98f065df8c00b777ed6b88e7f40560da585
parentcbec061b802fc892c723cf609b0a416210ff1fbd (diff)
AbstractSubmit: Extend tests to check for ref-updated events
Capture ref-updated events and check that submitting a change results in a ref-updated event with the expected new ref on the target branch. Change-Id: I0ce6e9f0b25cb25ee5dd8b886c2ceae8a08f2bda
-rw-r--r--gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
index ef3faa5555..6412c08cd8 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/AbstractSubmit.java
@@ -49,8 +49,10 @@ import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.ApprovalsUtil;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser;
+import com.google.gerrit.server.data.RefUpdateAttribute;
import com.google.gerrit.server.events.ChangeMergedEvent;
import com.google.gerrit.server.events.Event;
+import com.google.gerrit.server.events.RefUpdatedEvent;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.testutil.ConfigSuite;
import com.google.gson.reflect.TypeToken;
@@ -83,6 +85,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
}
private Map<String, String> mergeResults;
+ private Map<String, String> refUpdatedEvents;
@Inject
private ChangeNotes.Factory notesFactory;
@@ -99,6 +102,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
@Before
public void setUp() throws Exception {
mergeResults = Maps.newHashMap();
+ refUpdatedEvents = Maps.newHashMap();
CurrentUser listenerUser = factory.create(user.id);
source.addEventListener(new EventListener() {
@@ -108,6 +112,10 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
ChangeMergedEvent changeMergedEvent = (ChangeMergedEvent) event;
mergeResults.put(changeMergedEvent.change.number,
changeMergedEvent.newRev);
+ } else if (event instanceof RefUpdatedEvent) {
+ RefUpdatedEvent e = (RefUpdatedEvent) event;
+ RefUpdateAttribute r = e.refUpdate;
+ refUpdatedEvents.put(r.project + "-" + r.refName, r.newRev);
}
}
@@ -230,7 +238,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
private void checkMergeResult(ChangeInfo change) throws IOException {
// Get the revision of the branch after the submit to compare with the
- // newRev of the ChangeMergedEvent.
+ // newRev of the ChangeMergedEvent and RefUpdatedEvent.
RestResponse b =
adminSession.get("/projects/" + change.project + "/branches/"
+ change.branch);
@@ -239,9 +247,13 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
newGson().fromJson(b.getReader(),
new TypeToken<BranchInfo>() {}.getType());
assertThat(mergeResults).isNotEmpty();
+ assertThat(refUpdatedEvents).isNotEmpty();
String newRev = mergeResults.get(Integer.toString(change._number));
assertThat(newRev).isNotNull();
assertThat(branch.revision).isEqualTo(newRev);
+ newRev = refUpdatedEvents.get(change.project + "-" + branch.ref);
+ assertThat(newRev).isNotNull();
+ assertThat(branch.revision).isEqualTo(newRev);
}
b.consume();
}