summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <dpursehouse@collab.net>2018-07-05 12:03:57 +0900
committerDavid Pursehouse <dpursehouse@collab.net>2018-07-05 17:35:41 +0900
commit1697a2bd2b90b36393cbca028452cfddf217962e (patch)
tree0f618ad4010eae2d31e9435dc7c3a0ed8246b29a
parentba1f8b50e4f2063258258487dd30a5a4547a098b (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.java39
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