Merge "ChangeRebuilderImpl: Omit empty group list from update"
This commit is contained in:
@@ -22,11 +22,13 @@ import com.google.gerrit.acceptance.AbstractDaemonTest;
|
|||||||
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
|
import com.google.gerrit.acceptance.AcceptanceTestRequestScope;
|
||||||
import com.google.gerrit.acceptance.PushOneCommit;
|
import com.google.gerrit.acceptance.PushOneCommit;
|
||||||
import com.google.gerrit.acceptance.TestAccount;
|
import com.google.gerrit.acceptance.TestAccount;
|
||||||
|
import com.google.gerrit.common.TimeUtil;
|
||||||
import com.google.gerrit.extensions.api.changes.DraftInput;
|
import com.google.gerrit.extensions.api.changes.DraftInput;
|
||||||
import com.google.gerrit.extensions.api.changes.ReviewInput;
|
import com.google.gerrit.extensions.api.changes.ReviewInput;
|
||||||
import com.google.gerrit.extensions.api.changes.ReviewInput.CommentInput;
|
import com.google.gerrit.extensions.api.changes.ReviewInput.CommentInput;
|
||||||
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||||
import com.google.gerrit.reviewdb.client.Change;
|
import com.google.gerrit.reviewdb.client.Change;
|
||||||
|
import com.google.gerrit.reviewdb.client.PatchSet;
|
||||||
import com.google.gerrit.reviewdb.client.Project;
|
import com.google.gerrit.reviewdb.client.Project;
|
||||||
import com.google.gerrit.reviewdb.client.RefNames;
|
import com.google.gerrit.reviewdb.client.RefNames;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||||
@@ -39,6 +41,7 @@ import com.google.gerrit.server.notedb.NoteDbChangeState;
|
|||||||
import com.google.gerrit.server.schema.DisabledChangesReviewDbWrapper;
|
import com.google.gerrit.server.schema.DisabledChangesReviewDbWrapper;
|
||||||
import com.google.gerrit.testutil.NoteDbChecker;
|
import com.google.gerrit.testutil.NoteDbChecker;
|
||||||
import com.google.gerrit.testutil.NoteDbMode;
|
import com.google.gerrit.testutil.NoteDbMode;
|
||||||
|
import com.google.gerrit.testutil.TestChanges;
|
||||||
import com.google.gerrit.testutil.TestTimeUtil;
|
import com.google.gerrit.testutil.TestTimeUtil;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Provider;
|
import com.google.inject.Provider;
|
||||||
@@ -50,6 +53,7 @@ import org.junit.After;
|
|||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
@@ -106,6 +110,24 @@ public class ChangeRebuilderIT extends AbstractDaemonTest {
|
|||||||
checker.rebuildAndCheckChanges(id);
|
checker.rebuildAndCheckChanges(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void patchSetWithNullGroups() throws Exception {
|
||||||
|
Timestamp ts = TimeUtil.nowTs();
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
Change c = TestChanges.newChange(project, user.getId(), db.nextChangeId());
|
||||||
|
c.setCreatedOn(ts);
|
||||||
|
c.setLastUpdatedOn(ts);
|
||||||
|
PatchSet ps = TestChanges.newPatchSet(
|
||||||
|
c.currentPatchSetId(), "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
|
||||||
|
user.getId());
|
||||||
|
ps.setCreatedOn(ts);
|
||||||
|
db.changes().insert(Collections.singleton(c));
|
||||||
|
db.patchSets().insert(Collections.singleton(ps));
|
||||||
|
|
||||||
|
assertThat(ps.getGroups()).isEmpty();
|
||||||
|
checker.rebuildAndCheckChanges(c.getId());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void draftComment() throws Exception {
|
public void draftComment() throws Exception {
|
||||||
PushOneCommit.Result r = createChange();
|
PushOneCommit.Result r = createChange();
|
||||||
|
|||||||
@@ -560,7 +560,10 @@ public class ChangeRebuilderImpl extends ChangeRebuilder {
|
|||||||
update.setSubjectForCommit("Create patch set " + ps.getPatchSetId());
|
update.setSubjectForCommit("Create patch set " + ps.getPatchSetId());
|
||||||
}
|
}
|
||||||
setRevision(update, ps);
|
setRevision(update, ps);
|
||||||
update.setGroups(ps.getGroups());
|
List<String> groups = ps.getGroups();
|
||||||
|
if (!groups.isEmpty()) {
|
||||||
|
update.setGroups(ps.getGroups());
|
||||||
|
}
|
||||||
if (ps.isDraft()) {
|
if (ps.isDraft()) {
|
||||||
update.setPatchSetState(PatchSetState.DRAFT);
|
update.setPatchSetState(PatchSetState.DRAFT);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user