From 779381f7e23d9123f79607d9b8c33dba9eb4bc9b Mon Sep 17 00:00:00 2001 From: Changcheng Xiao Date: Tue, 18 Apr 2017 14:51:42 +0200 Subject: [PATCH] AccountIT: Ensure user branch has been created before deleting As in [1], deleting a non existing ref may result in a NON_EXISTING status code. But the status code could also be something else. Thus it's better to make sure the user branch has been created before deleting. [1] http://download.eclipse.org/jgit/docs/jgit-2.3.1.201302201838-r/apidocs/org/eclipse/jgit/transport/RemoteRefUpdate.Status.html#NON_EXISTING Change-Id: I3c2fcc09197cbb931406f2888bdf30ffde17021f --- .../acceptance/api/accounts/AccountIT.java | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java index 6c4624a240..89585c3631 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/AccountIT.java @@ -553,12 +553,7 @@ public class AccountIT extends AbstractDaemonTest { @Test @Sandboxed public void fetchUserBranch() throws Exception { - // change something in the user preferences to ensure that the user branch - // is created - setApiUser(user); - GeneralPreferencesInfo input = new GeneralPreferencesInfo(); - input.changesPerPage = GeneralPreferencesInfo.defaults().changesPerPage + 10; - gApi.accounts().self().setPreferences(input); + ensureUserBranchCreated(user); TestRepository allUsersRepo = cloneProject(allUsers, user); String userRefName = RefNames.refsUsers(user.id); @@ -608,11 +603,7 @@ public class AccountIT extends AbstractDaemonTest { @Test public void pushToUserBranch() throws Exception { - // change something in the user preferences to ensure that the user branch - // is created - GeneralPreferencesInfo input = new GeneralPreferencesInfo(); - input.changesPerPage = GeneralPreferencesInfo.defaults().changesPerPage + 10; - gApi.accounts().self().setPreferences(input); + ensureUserBranchCreated(admin); TestRepository allUsersRepo = cloneProject(allUsers); fetch(allUsersRepo, RefNames.refsUsers(admin.id) + ":userRef"); @@ -626,11 +617,7 @@ public class AccountIT extends AbstractDaemonTest { @Test public void pushToUserBranchForReview() throws Exception { - // change something in the user preferences to ensure that the user branch - // is created - GeneralPreferencesInfo input = new GeneralPreferencesInfo(); - input.changesPerPage = GeneralPreferencesInfo.defaults().changesPerPage + 10; - gApi.accounts().self().setPreferences(input); + ensureUserBranchCreated(admin); String userRefName = RefNames.refsUsers(admin.id); TestRepository allUsersRepo = cloneProject(allUsers); @@ -653,11 +640,7 @@ public class AccountIT extends AbstractDaemonTest { @Test public void pushWatchConfigToUserBranch() throws Exception { - // change something in the user preferences to ensure that the user branch - // is created - GeneralPreferencesInfo input = new GeneralPreferencesInfo(); - input.changesPerPage = GeneralPreferencesInfo.defaults().changesPerPage + 10; - gApi.accounts().self().setPreferences(input); + ensureUserBranchCreated(admin); TestRepository allUsersRepo = cloneProject(allUsers); fetch(allUsersRepo, RefNames.refsUsers(admin.id) + ":userRef"); @@ -700,6 +683,8 @@ public class AccountIT extends AbstractDaemonTest { @Test @Sandboxed public void cannotDeleteUserBranch() throws Exception { + ensureUserBranchCreated(admin); + grant( Permission.DELETE, allUsers, @@ -722,6 +707,8 @@ public class AccountIT extends AbstractDaemonTest { @Test @Sandboxed public void deleteUserBranchWithAccessDatabaseCapability() throws Exception { + ensureUserBranchCreated(admin); + allowGlobalCapabilities(REGISTERED_USERS, GlobalCapability.ACCESS_DATABASE); grant( Permission.DELETE, @@ -1032,4 +1019,12 @@ public class AccountIT extends AbstractDaemonTest { assertThat(accounts).hasSize(1); assertThat(Iterables.getOnlyElement(accounts)).isEqualTo(expectedAccount.getId()); } + + private void ensureUserBranchCreated(TestAccount account) throws Exception { + // Change something in the user preferences to ensure that the user branch is created. + setApiUser(account); + GeneralPreferencesInfo input = new GeneralPreferencesInfo(); + input.changesPerPage = GeneralPreferencesInfo.defaults().changesPerPage + 10; + gApi.accounts().self().setPreferences(input); + } }