diff options
author | David Pursehouse <dpursehouse@collab.net> | 2016-05-18 08:55:52 +0900 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2016-05-20 04:00:12 +0000 |
commit | 5868dbc99cc360a7ef9328ea4c9a306828f9b19f (patch) | |
tree | 947cc98f065df8c00b777ed6b88e7f40560da585 | |
parent | cbec061b802fc892c723cf609b0a416210ff1fbd (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.java | 14 |
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(); } |