Merge "AbstractSubmit: Extend tests to check for ref-updated events" into stable-2.12

This commit is contained in:
David Pursehouse
2016-05-24 05:11:22 +00:00
committed by Gerrit Code Review

View File

@@ -50,8 +50,10 @@ import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.ApprovalsUtil; import com.google.gerrit.server.ApprovalsUtil;
import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.IdentifiedUser; 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.ChangeMergedEvent;
import com.google.gerrit.server.events.Event; 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.server.notedb.ChangeNotes;
import com.google.gerrit.testutil.ConfigSuite; import com.google.gerrit.testutil.ConfigSuite;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
@@ -84,6 +86,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
} }
private Map<String, String> mergeResults; private Map<String, String> mergeResults;
private Map<String, String> refUpdatedEvents;
@Inject @Inject
private ChangeNotes.Factory notesFactory; private ChangeNotes.Factory notesFactory;
@@ -100,6 +103,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
mergeResults = Maps.newHashMap(); mergeResults = Maps.newHashMap();
refUpdatedEvents = Maps.newHashMap();
CurrentUser listenerUser = factory.create(user.id); CurrentUser listenerUser = factory.create(user.id);
source.addEventListener(new EventListener() { source.addEventListener(new EventListener() {
@@ -109,6 +113,10 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
ChangeMergedEvent changeMergedEvent = (ChangeMergedEvent) event; ChangeMergedEvent changeMergedEvent = (ChangeMergedEvent) event;
mergeResults.put(changeMergedEvent.change.number, mergeResults.put(changeMergedEvent.change.number,
changeMergedEvent.newRev); changeMergedEvent.newRev);
} else if (event instanceof RefUpdatedEvent) {
RefUpdatedEvent e = (RefUpdatedEvent) event;
RefUpdateAttribute r = e.refUpdate;
refUpdatedEvents.put(r.project + "-" + r.refName, r.newRev);
} }
} }
@@ -231,7 +239,7 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
private void checkMergeResult(ChangeInfo change) throws IOException { private void checkMergeResult(ChangeInfo change) throws IOException {
// Get the revision of the branch after the submit to compare with the // 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 = RestResponse b =
adminSession.get("/projects/" + change.project + "/branches/" adminSession.get("/projects/" + change.project + "/branches/"
+ change.branch); + change.branch);
@@ -240,9 +248,13 @@ public abstract class AbstractSubmit extends AbstractDaemonTest {
newGson().fromJson(b.getReader(), newGson().fromJson(b.getReader(),
new TypeToken<BranchInfo>() {}.getType()); new TypeToken<BranchInfo>() {}.getType());
assertThat(mergeResults).isNotEmpty(); assertThat(mergeResults).isNotEmpty();
assertThat(refUpdatedEvents).isNotEmpty();
String newRev = mergeResults.get(Integer.toString(change._number)); String newRev = mergeResults.get(Integer.toString(change._number));
assertThat(newRev).isNotNull(); assertThat(newRev).isNotNull();
assertThat(branch.revision).isEqualTo(newRev); assertThat(branch.revision).isEqualTo(newRev);
newRev = refUpdatedEvents.get(change.project + "-" + branch.ref);
assertThat(newRev).isNotNull();
assertThat(branch.revision).isEqualTo(newRev);
} }
b.consume(); b.consume();
} }