Merge "Add unit test for voting on behalf of another user"
This commit is contained in:
@@ -21,6 +21,7 @@ import static com.google.gerrit.extensions.client.ReviewerState.CC;
|
||||
import static com.google.gerrit.extensions.client.ReviewerState.REVIEWER;
|
||||
import static com.google.gerrit.server.group.SystemGroupBackend.ANONYMOUS_USERS;
|
||||
import static com.google.gerrit.server.group.SystemGroupBackend.REGISTERED_USERS;
|
||||
import static com.google.gerrit.server.group.SystemGroupBackend.CHANGE_OWNER;
|
||||
import static com.google.gerrit.server.project.Util.blockLabel;
|
||||
import static com.google.gerrit.server.project.Util.category;
|
||||
import static com.google.gerrit.server.project.Util.value;
|
||||
@@ -242,6 +243,37 @@ public class ChangeIT extends AbstractDaemonTest {
|
||||
assertThat(committer.email).isEqualTo(admin.email);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void voteOnBehalfOf() throws Exception {
|
||||
ProjectConfig cfg = projectCache.checkedGet(project).getConfig();
|
||||
LabelType codeReviewType = Util.codeReview();
|
||||
String forCodeReviewAs = Permission.forLabelAs(codeReviewType.getName());
|
||||
String heads = "refs/heads/*";
|
||||
AccountGroup.UUID owner =
|
||||
SystemGroupBackend.getGroup(CHANGE_OWNER).getUUID();
|
||||
Util.allow(cfg, forCodeReviewAs, -1, 1, owner, heads);
|
||||
saveProjectConfig(project, cfg);
|
||||
|
||||
PushOneCommit.Result r = createChange();
|
||||
RevisionApi revision = gApi.changes()
|
||||
.id(r.getChangeId())
|
||||
.current();
|
||||
|
||||
ReviewInput in = ReviewInput.recommend();
|
||||
in.onBehalfOf = user.id.toString();
|
||||
revision.review(in);
|
||||
|
||||
ChangeInfo c = gApi.changes()
|
||||
.id(r.getChangeId())
|
||||
.get();
|
||||
|
||||
LabelInfo codeReview = c.labels.get("Code-Review");
|
||||
assertThat(codeReview.all).hasSize(1);
|
||||
ApprovalInfo approval = codeReview.all.get(0);
|
||||
assertThat(approval._accountId).isEqualTo(user.id.get());
|
||||
assertThat(approval.value).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test(expected = ResourceConflictException.class)
|
||||
public void rebaseUpToDateChange() throws Exception {
|
||||
PushOneCommit.Result r = createChange();
|
||||
|
||||
Reference in New Issue
Block a user