forked from jenkinsci/configuration-as-code-plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMatrixAuthorizationTest.java
More file actions
64 lines (53 loc) · 2.5 KB
/
MatrixAuthorizationTest.java
File metadata and controls
64 lines (53 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package io.jenkins.plugins.casc;
import static org.junit.Assert.assertEquals;
import hudson.model.Job;
import hudson.security.GlobalMatrixAuthorizationStrategy;
import hudson.security.ProjectMatrixAuthorizationStrategy;
import io.jenkins.plugins.casc.misc.ConfiguredWithReadme;
import io.jenkins.plugins.casc.misc.JenkinsConfiguredWithReadmeRule;
import java.util.Set;
import jenkins.model.Jenkins;
import org.jenkinsci.plugins.matrixauth.PermissionEntry;
import org.junit.Rule;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
/**
* @author Mads Nielsen
* @since 1.0
*/
public class MatrixAuthorizationTest {
@Rule
public JenkinsConfiguredWithReadmeRule j = new JenkinsConfiguredWithReadmeRule();
@Test
@ConfiguredWithReadme("matrix-auth/README.md#0")
public void checkGlobalCorrectlyConfiguredPermissions() {
assertEquals(
"The configured instance must use the Global Matrix Authentication Strategy",
GlobalMatrixAuthorizationStrategy.class,
Jenkins.get().getAuthorizationStrategy().getClass());
GlobalMatrixAuthorizationStrategy gms =
(GlobalMatrixAuthorizationStrategy) Jenkins.get().getAuthorizationStrategy();
Set<PermissionEntry> adminPermission = gms.getGrantedPermissionEntries()
.get(Job.BUILD);
assertEquals("authenticated", adminPermission.iterator().next().getSid());
Set<PermissionEntry> readPermission = gms.getGrantedPermissionEntries()
.get(Job.READ);
assertEquals("anonymous", readPermission.iterator().next().getSid());
}
@Test
@ConfiguredWithReadme("matrix-auth/README.md#1")
public void checkProjectCorrectlyConfiguredPermissions() {
Assertions.assertEquals(
ProjectMatrixAuthorizationStrategy.class,
Jenkins.get().getAuthorizationStrategy().getClass(),
"The configured instance must use the Global Matrix Authentication Strategy");
ProjectMatrixAuthorizationStrategy gms =
(ProjectMatrixAuthorizationStrategy) Jenkins.get().getAuthorizationStrategy();
Set<PermissionEntry> adminPermission = gms.getGrantedPermissionEntries()
.get(Jenkins.ADMINISTER);
Assertions.assertEquals("authenticated", adminPermission.iterator().next().getSid());
Set<PermissionEntry> readPermission = gms.getGrantedPermissionEntries()
.get(Jenkins.READ);
Assertions.assertEquals("anonymous", readPermission.iterator().next().getSid());
}
}