diff --git a/src/test/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptorTest.java b/src/test/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptorTest.java index 145e8507..0fd2df6d 100644 --- a/src/test/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptorTest.java +++ b/src/test/java/org/jenkinsci/plugins/matrixauth/AuthorizationContainerDescriptorTest.java @@ -1,5 +1,7 @@ package org.jenkinsci.plugins.matrixauth; +import hudson.model.Item; +import hudson.model.Run; import hudson.security.GlobalMatrixAuthorizationStrategy; import jenkins.model.Jenkins; import org.junit.Assert; @@ -7,9 +9,23 @@ public class AuthorizationContainerDescriptorTest { @Test - public void overallAdministerDescriptionHasNoImpliedNote() { - String description = new GlobalMatrixAuthorizationStrategy.DescriptorImpl().getDescription(Jenkins.ADMINISTER); - Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionNotImpliedBy())); - Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionImpliedBy(Jenkins.PERMISSIONS.title.toString(), Jenkins.ADMINISTER.name))); + public void testImpliedNotes() { + { // no message on Administer + String description = new GlobalMatrixAuthorizationStrategy.DescriptorImpl().getDescription(Jenkins.ADMINISTER); + Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionNotImpliedBy())); + Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionImpliedBy(Jenkins.PERMISSIONS.title.toString(), Jenkins.ADMINISTER.name))); + } + + { // Run.ARTIFACTS is not implied by other permissions + String description = new GlobalMatrixAuthorizationStrategy.DescriptorImpl().getDescription(Run.ARTIFACTS); + Assert.assertTrue(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionNotImpliedBy())); + Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionImpliedBy(Jenkins.PERMISSIONS.title.toString(), Jenkins.ADMINISTER.name))); + } + + { // Item.CANCEL is implied by Item.BUILD (at least up to core 2.111) + String description = new GlobalMatrixAuthorizationStrategy.DescriptorImpl().getDescription(Item.CANCEL); + Assert.assertFalse(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionNotImpliedBy())); + Assert.assertTrue(description.contains(Messages.GlobalMatrixAuthorizationStrategy_PermissionImpliedBy(Item.PERMISSIONS.title.toString(), Item.BUILD.name))); + } } }