Merge "AbstractSubmit: Extend tests to check for ref-updated events" into stable-2.12
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user