Disallow publish change edit when user has not signed CLA
Bug: issue 3504 Change-Id: I4b3b5607e8742c90ceb68e87c571df076cd82dad
This commit is contained in:

committed by
David Ostrovsky

parent
0573f65bff
commit
d1a1699dd1
@@ -21,6 +21,7 @@ import static com.google.gerrit.acceptance.GitUtil.createProject;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import static java.util.concurrent.TimeUnit.MILLISECONDS;
|
||||
import static java.util.concurrent.TimeUnit.SECONDS;
|
||||
import static org.apache.http.HttpStatus.SC_FORBIDDEN;
|
||||
import static org.apache.http.HttpStatus.SC_CONFLICT;
|
||||
import static org.apache.http.HttpStatus.SC_NOT_FOUND;
|
||||
import static org.apache.http.HttpStatus.SC_NO_CONTENT;
|
||||
@@ -35,6 +36,7 @@ import com.google.gerrit.acceptance.PushOneCommit;
|
||||
import com.google.gerrit.acceptance.RestResponse;
|
||||
import com.google.gerrit.acceptance.RestSession;
|
||||
import com.google.gerrit.extensions.api.changes.ReviewInput;
|
||||
import com.google.gerrit.extensions.client.InheritableBoolean;
|
||||
import com.google.gerrit.extensions.client.ListChangesOption;
|
||||
import com.google.gerrit.extensions.common.ApprovalInfo;
|
||||
import com.google.gerrit.extensions.common.ChangeInfo;
|
||||
@@ -187,6 +189,22 @@ public class ChangeEditIT extends AbstractDaemonTest {
|
||||
assertThat(edit.isPresent()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void publishEditRestWithoutCLA() throws Exception {
|
||||
setUseContributorAgreements(InheritableBoolean.TRUE);
|
||||
PatchSet oldCurrentPatchSet = getCurrentPatchSet(changeId);
|
||||
assertThat(modifier.createEdit(change, oldCurrentPatchSet)).isEqualTo(
|
||||
RefUpdate.Result.NEW);
|
||||
assertThat(
|
||||
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
|
||||
RestSession.newRawInput(CONTENT_NEW))).isEqualTo(RefUpdate.Result.FORCED);
|
||||
RestResponse r = adminSession.post(urlPublish());
|
||||
assertThat(r.getStatusCode()).isEqualTo(SC_FORBIDDEN);
|
||||
setUseContributorAgreements(InheritableBoolean.FALSE);
|
||||
r = adminSession.post(urlPublish());
|
||||
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void rebaseEdit() throws Exception {
|
||||
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
|
||||
|
Reference in New Issue
Block a user