Improve readability of getAllUsersAsCodeOwners_withViewAllAccounts Also verify that no accounts are returned if VIEW_ALL_ACCOUNTS is not assigned. This only works if the call is done by a non-admin user since admin users have the VIEW_ALL_ACCOUNTS capabilities implicitly assigned. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Ic95f3a75db504ed6d2d6acd5c683013827a43372
diff --git a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/AbstractGetCodeOwnersForPathIT.java b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/AbstractGetCodeOwnersForPathIT.java index fb51e53..d7d3da3 100644 --- a/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/AbstractGetCodeOwnersForPathIT.java +++ b/javatests/com/google/gerrit/plugins/codeowners/acceptance/api/AbstractGetCodeOwnersForPathIT.java
@@ -1100,12 +1100,6 @@ @Test @GerritConfig(name = "accounts.visibility", value = "NONE") public void getAllUsersAsCodeOwners_withViewAllAccounts() throws Exception { - // Allow all users to view all accounts. - projectOperations - .allProjectsForUpdate() - .add(allowCapability(GlobalCapability.VIEW_ALL_ACCOUNTS).group(REGISTERED_USERS)) - .update(); - TestAccount user2 = accountCreator.user2(); // Add a code owner config that makes all users code owners. @@ -1117,7 +1111,22 @@ .addCodeOwnerEmail("*") .create(); + requestScopeOperations.setApiUser(user.id()); + + // Since accounts.visibility = NONE, no account is visible and hence the list of code owners is + // empty. CodeOwnersInfo codeOwnersInfo = queryCodeOwners("/foo/bar/baz.md"); + assertThat(codeOwnersInfo).hasCodeOwnersThat().isEmpty(); + assertThat(codeOwnersInfo).hasOwnedByAllUsersThat().isTrue(); + + // Allow all users to view all accounts. + projectOperations + .allProjectsForUpdate() + .add(allowCapability(GlobalCapability.VIEW_ALL_ACCOUNTS).group(REGISTERED_USERS)) + .update(); + + // If VIEW_ALL_ACCOUNTS is assigned, all accounts are visible now. + codeOwnersInfo = queryCodeOwners("/foo/bar/baz.md"); assertThat(codeOwnersInfo) .hasCodeOwnersThat() .comparingElementsUsing(hasAccountId())