blob: 68e874a2c34faead228497b6b2116dd72ffb22d1 [file] [log] [blame]
Michael Hanle56bb892016-05-25 17:34:41 +02001package de.ids_mannheim.korap.security;
2
3import de.ids_mannheim.korap.resources.Permissions;
4import org.junit.Test;
5
6import static org.junit.Assert.*;
7
8/**
9 * @author hanl
10 * @date 15/02/2016
11 */
12public class PermissionBufferTest {
13
14 @Test
15 public void testDuplicatePermission () {
16 PermissionsBuffer buffer = new PermissionsBuffer();
17 assertEquals(0, buffer.addPermission(4));
18 assertEquals(-1, buffer.addPermission(4));
19
20 // 0 means permission was successfully added, -1 means it wasn't because it's already present
21 assertEquals(0, buffer.addPermission(1));
22 assertEquals(-1, buffer.addPermission(1));
23
24 assertEquals(0, buffer.addPermission(8));
25 assertEquals(-1, buffer.addPermission(4));
26 }
27
28
29 @Test
30 public void testPermissionsAdd () {
31 PermissionsBuffer buffer = new PermissionsBuffer();
32 buffer.addPermissions(Permissions.Permission.READ);
33 assertEquals(1, buffer.getPermissions().size());
34
35 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
36 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
37 assertFalse(buffer
38 .containsPByte(Permissions.Permission.DELETE.toByte()));
39 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
40 .toByte()));
41 assertFalse(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
42 .toByte()));
43 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
44 .toByte()));
45 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
46 .toByte()));
47 assertFalse(buffer.containsPByte(Permissions.Permission.ALL.toByte()));
48
49 buffer = new PermissionsBuffer();
50 buffer.addPermissions(Permissions.Permission.WRITE);
51 buffer.addPermissions(Permissions.Permission.DELETE_POLICY);
52 assertEquals(2, buffer.getPermissions().size());
53 assertFalse(buffer.containsPByte(Permissions.Permission.READ.toByte()));
54 assertTrue(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
55 assertFalse(buffer
56 .containsPByte(Permissions.Permission.DELETE.toByte()));
57 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
58 .toByte()));
59 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
60 .toByte()));
61 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
62 .toByte()));
63 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
64 .toByte()));
65 assertFalse(buffer.containsPByte(Permissions.Permission.ALL.toByte()));
66 }
67
68
69 @Test
70 public void testPermissionsAddAll2 () {
71 PermissionsBuffer buffer = new PermissionsBuffer();
72 buffer.addPermissions(Permissions.Permission.ALL);
73
74 assertEquals(Permissions.Permission.values().length, buffer
75 .getPermissions().size());
76 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
77 assertTrue(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
78 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
79 assertTrue(buffer.containsPByte(Permissions.Permission.READ_POLICY
80 .toByte()));
81 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
82 .toByte()));
83 assertTrue(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
84 .toByte()));
85 assertTrue(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
86 .toByte()));
87 assertTrue(buffer.containsPByte(Permissions.Permission.ALL.toByte()));
88 }
89
90
91 @Test
92 public void testPermissionsAddAll () {
93 PermissionsBuffer buffer = new PermissionsBuffer();
94 buffer.addPermissions(Permissions.Permission.DELETE_POLICY);
95 buffer.addPermissions(Permissions.Permission.CREATE_POLICY);
96 buffer.addPermissions(Permissions.Permission.READ);
97 buffer.addPermissions(Permissions.Permission.MODIFY_POLICY);
98 buffer.addPermissions(Permissions.Permission.DELETE);
99 buffer.addPermissions(Permissions.Permission.READ_POLICY);
100 buffer.addPermissions(Permissions.Permission.WRITE);
101
102 assertEquals(Permissions.Permission.values().length, buffer
103 .getPermissions().size());
104 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
105 assertTrue(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
106 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
107 assertTrue(buffer.containsPByte(Permissions.Permission.READ_POLICY
108 .toByte()));
109 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
110 .toByte()));
111 assertTrue(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
112 .toByte()));
113 assertTrue(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
114 .toByte()));
115 assertTrue(buffer.containsPByte(Permissions.Permission.ALL.toByte()));
116
117 }
118
119
120 @Test
121 public void testPermissionsInit () {
122 PermissionsBuffer buffer = new PermissionsBuffer((short) 1);
123 assertEquals(1, buffer.getPermissions().size());
124
125 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
126 assertFalse(buffer
127 .containsPByte(Permissions.Permission.DELETE.toByte()));
128 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
129 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
130 .toByte()));
131 assertFalse(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
132 .toByte()));
133 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
134 .toByte()));
135 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
136 .toByte()));
137
138 }
139
140
141 @Test
142 public void testPermissionsStringConversion () {
143 PermissionsBuffer buffer = new PermissionsBuffer(Short.valueOf("1"));
144 assertEquals(1, buffer.getPermissions().size());
145
146 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
147 assertFalse(buffer
148 .containsPByte(Permissions.Permission.DELETE.toByte()));
149 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
150 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
151 .toByte()));
152 assertFalse(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
153 .toByte()));
154 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
155 .toByte()));
156 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
157 .toByte()));
158
159 buffer = new PermissionsBuffer(Short.valueOf("5"));
160 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
161 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
162 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
163 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
164 .toByte()));
165 assertFalse(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
166 .toByte()));
167 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
168 .toByte()));
169 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
170 .toByte()));
171
172 buffer = new PermissionsBuffer(Short.valueOf("69"));
173 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
174 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
175 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
176 assertFalse(buffer.containsPByte(Permissions.Permission.READ_POLICY
177 .toByte()));
178 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE_POLICY
179 .toByte()));
180 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
181 .toByte()));
182 assertFalse(buffer.containsPByte(Permissions.Permission.CREATE_POLICY
183 .toByte()));
184 }
185
186
187 @Test
188 public void testPermissionRemovalOne () {
189 PermissionsBuffer buffer = new PermissionsBuffer();
190 buffer.addPermissions(Permissions.Permission.READ,
191 Permissions.Permission.DELETE,
192 Permissions.Permission.MODIFY_POLICY);
193
194 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
195 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
196 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
197 assertTrue(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
198 .toByte()));
199
200 buffer.removePermission(Permissions.Permission.MODIFY_POLICY);
201
202 assertTrue(buffer.containsPByte(Permissions.Permission.READ.toByte()));
203 assertTrue(buffer.containsPByte(Permissions.Permission.DELETE.toByte()));
204 assertFalse(buffer.containsPByte(Permissions.Permission.WRITE.toByte()));
205 assertFalse(buffer.containsPByte(Permissions.Permission.MODIFY_POLICY
206 .toByte()));
207 }
208
209}