diff options
author | David Pursehouse <dpursehouse@collab.net> | 2018-07-05 12:03:57 +0900 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2018-07-05 17:35:41 +0900 |
commit | 1697a2bd2b90b36393cbca028452cfddf217962e (patch) | |
tree | 0f618ad4010eae2d31e9435dc7c3a0ed8246b29a | |
parent | ba1f8b50e4f2063258258487dd30a5a4547a098b (diff) |
ChangeIT: Refactor tests for deletion of new changes
Instead of cloning the repo as "user" and then using git push to create
the change, use the change API to create the change. This avoids the
unnecessary cloning of the repository, and makes it more explicitly
clear which user is supposed to be the owner of the created change.
Change-Id: Id4a3ff77a6128d4500eeaba37d01d69b8253b165
-rw-r--r-- | gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/change/ChangeIT.java | 39 |
1 files changed, 14 insertions, 25 deletions
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 e3b7285a7d..95bde7353f 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 @@ -442,12 +442,7 @@ public class ChangeIT extends AbstractDaemonTest { @Test public void deleteNewChangeAsAdmin() throws Exception { - PushOneCommit.Result changeResult = createChange(); - String changeId = changeResult.getChangeId(); - - gApi.changes().id(changeId).delete(); - - assertThat(query(changeId)).isEmpty(); + deleteChangeAsUser(admin, admin); } @Test @@ -465,26 +460,29 @@ public class ChangeIT extends AbstractDaemonTest { } @Test - @TestProjectInput(cloneAs = "user") public void deleteChangeAsUserWithDeleteOwnChangesPermissionForGroup() throws Exception { allow(Permission.DELETE_OWN_CHANGES, REGISTERED_USERS, "refs/*"); - deleteChangeAsUser(); + deleteChangeAsUser(user, user); } @Test - @TestProjectInput(cloneAs = "user") public void deleteChangeAsUserWithDeleteOwnChangesPermissionForOwners() throws Exception { allow(Permission.DELETE_OWN_CHANGES, CHANGE_OWNER, "refs/*"); - deleteChangeAsUser(); + deleteChangeAsUser(user, user); } - private void deleteChangeAsUser() throws Exception { + private void deleteChangeAsUser(TestAccount owner, TestAccount deleteAs) throws Exception { try { - PushOneCommit.Result changeResult = - pushFactory.create(db, user.getIdent(), testRepo).to("refs/for/master"); - String changeId = changeResult.getChangeId(); + setApiUser(owner); + ChangeInput in = new ChangeInput(); + in.project = project.get(); + in.branch = "refs/heads/master"; + in.subject = "test"; + String changeId = gApi.changes().create(in).get().changeId; - setApiUser(user); + assertThat(gApi.changes().id(changeId).info().owner._accountId).isEqualTo(owner.id.get()); + + setApiUser(deleteAs); gApi.changes().id(changeId).delete(); assertThat(query(changeId)).isEmpty(); @@ -494,17 +492,8 @@ public class ChangeIT extends AbstractDaemonTest { } @Test - @TestProjectInput(cloneAs = "user") public void deleteNewChangeOfAnotherUserAsAdmin() throws Exception { - PushOneCommit.Result changeResult = - pushFactory.create(db, user.getIdent(), testRepo).to("refs/for/master"); - changeResult.assertOkStatus(); - String changeId = changeResult.getChangeId(); - - setApiUser(admin); - gApi.changes().id(changeId).delete(); - - assertThat(query(changeId)).isEmpty(); + deleteChangeAsUser(user, admin); } @Test |