ChangeIT: Add tests for submit with and without permissions
Change-Id: Ia6ff8e317645e7198b8c311190267d80cb68d6f0
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
index d5b4f49..a4944e6 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java
@@ -1741,6 +1741,26 @@
}
@Test
+ public void submitNotAllowedWithoutPermission() throws Exception {
+ PushOneCommit.Result r = createChange();
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).review(ReviewInput.approve());
+ setApiUser(user);
+ exception.expect(AuthException.class);
+ exception.expectMessage("submit not permitted");
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).submit();
+ }
+
+ @Test
+ public void submitAllowedWithPermission() throws Exception {
+ PushOneCommit.Result r = createChange();
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).review(ReviewInput.approve());
+ grant(Permission.SUBMIT, project, "refs/heads/master", false, REGISTERED_USERS);
+ setApiUser(user);
+ gApi.changes().id(r.getChangeId()).revision(r.getCommit().name()).submit();
+ assertThat(gApi.changes().id(r.getChangeId()).info().status).isEqualTo(ChangeStatus.MERGED);
+ }
+
+ @Test
public void check() throws Exception {
// TODO(dborowitz): Re-enable when ConsistencyChecker supports NoteDb.
assume().that(notesMigration.enabled()).isFalse();