diff options
Diffstat (limited to 'gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java')
-rw-r--r-- | gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java index cea907d941..101a9affe4 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/project/AbstractPushTag.java @@ -157,6 +157,29 @@ public abstract class AbstractPushTag extends AbstractDaemonTest { pushTagDeletion(tagName, Status.OK); } + @Test + public void createTagForExistingCommit_withoutGlobalReadPermissions() throws Exception { + removeReadAccessOnRefsStar(); + grantReadAccessOnRefsHeadsStar(); + createTagForExistingCommit(); + } + + @Test + public void createTagForNewCommit_withoutGlobalReadPermissions() throws Exception { + removeReadAccessOnRefsStar(); + grantReadAccessOnRefsHeadsStar(); + createTagForNewCommit(); + } + + private void removeReadAccessOnRefsStar() throws Exception { + removePermission(allProjects, "refs/heads/*", Permission.READ); + removePermission(project, "refs/heads/*", Permission.READ); + } + + private void grantReadAccessOnRefsHeadsStar() throws Exception { + grant(project, "refs/heads/*", Permission.READ, false, REGISTERED_USERS); + } + private String pushTagForExistingCommit(Status expectedStatus) throws Exception { return pushTag(null, false, false, expectedStatus); } |