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 package edu.internet2.middleware.grouper.filter;
34 import junit.framework.Assert;
35 import edu.internet2.middleware.grouper.Group;
36 import edu.internet2.middleware.grouper.GrouperSession;
37 import edu.internet2.middleware.grouper.Stem;
38 import edu.internet2.middleware.grouper.exception.QueryException;
39 import edu.internet2.middleware.grouper.filter.GrouperQuery;
40 import edu.internet2.middleware.grouper.helper.GrouperTest;
41 import edu.internet2.middleware.grouper.helper.R;
42 import edu.internet2.middleware.grouper.helper.SessionHelper;
43 import edu.internet2.middleware.grouper.helper.StemHelper;
44 import edu.internet2.middleware.grouper.privs.AccessPrivilege;
45 import edu.internet2.middleware.grouper.registry.RegistryReset;
46 import edu.internet2.middleware.subject.Subject;
47
48
49
50
51
52
53
54 public class TestGQGroupCurrentNameFilter extends GrouperTest {
55
56
57
58
59
60 public TestGQGroupCurrentNameFilter(String name) {
61 super(name);
62 }
63
64 protected void setUp () {
65 super.setUp();
66 RegistryReset.internal_resetRegistryAndAddTestSubjects();
67 GrouperTest.initGroupsAndAttributes();
68
69 }
70
71 protected void tearDown () {
72 super.tearDown();
73 }
74
75
76
77
78
79
80
81 public void testDisplayName() {
82 GrouperSession s = SessionHelper.getRootSession();
83 Stem root = StemHelper.findRootStem(s);
84 Stem edu = StemHelper.addChildStem(root, "edu", "education");
85 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
86 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
87 Stem com = StemHelper.addChildStem(root, "com", "commercial");
88 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
89
90 try {
91 GrouperQuery gq = GrouperQuery.createQuery(
92 s, new GroupCurrentNameFilter("education:Internet2", root)
93 );
94 Assert.assertTrue("groups", gq.getGroups().size() == 1);
95 Assert.assertTrue("members", gq.getMembers().size() == 0);
96 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
97 Assert.assertTrue("stems", gq.getStems().size() == 0);
98 }
99 catch (QueryException eQ) {
100 Assert.fail("unable to query: " + eQ.getMessage());
101 }
102 }
103
104
105
106
107 public void testDisplayNameScoped() {
108 GrouperSession s = SessionHelper.getRootSession();
109 Stem root = StemHelper.findRootStem(s);
110 Stem edu = StemHelper.addChildStem(root, "edu", "Education");
111 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
112 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
113 Stem com = StemHelper.addChildStem(root, "com", "commercial");
114 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
115
116 try {
117 GrouperQuery gq = GrouperQuery.createQuery(
118 s, new GroupCurrentNameFilter("education:Internet2", edu)
119 );
120 Assert.assertTrue("groups", gq.getGroups().size() == 1);
121 Assert.assertTrue("members", gq.getMembers().size() == 0);
122 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
123 Assert.assertTrue("stems", gq.getStems().size() == 0);
124 }
125 catch (QueryException eQ) {
126 Assert.fail("unable to query: " + eQ.getMessage());
127 }
128
129 try {
130 GrouperQuery gq = GrouperQuery.createQuery(
131 s, new GroupCurrentNameFilter("education:Internet2", com)
132 );
133 Assert.assertTrue("groups", gq.getGroups().size() == 0);
134 Assert.assertTrue("members", gq.getMembers().size() == 0);
135 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
136 Assert.assertTrue("stems", gq.getStems().size() == 0);
137 }
138 catch (QueryException eQ) {
139 Assert.fail("unable to query: " + eQ.getMessage());
140 }
141 }
142
143
144
145
146 public void testName() {
147 GrouperSession s = SessionHelper.getRootSession();
148 Stem root = StemHelper.findRootStem(s);
149 Stem edu = StemHelper.addChildStem(root, "edu", "education");
150 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
151 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
152 Stem com = StemHelper.addChildStem(root, "com", "commercial");
153 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
154
155 try {
156 GrouperQuery gq = GrouperQuery.createQuery(
157 s, new GroupCurrentNameFilter("edu:i2", root)
158 );
159 Assert.assertTrue("groups", gq.getGroups().size() == 1);
160 Assert.assertTrue("members", gq.getMembers().size() == 0);
161 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
162 Assert.assertTrue("stems", gq.getStems().size() == 0);
163 }
164 catch (QueryException eQ) {
165 Assert.fail("unable to query: " + eQ.getMessage());
166 }
167
168 try {
169 GrouperQuery gq = GrouperQuery.createQuery(
170 s, new GroupCurrentNameFilter("DU:I", root)
171 );
172 Assert.assertTrue("groups", gq.getGroups().size() == 1);
173 Assert.assertTrue("members", gq.getMembers().size() == 0);
174 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
175 Assert.assertTrue("stems", gq.getStems().size() == 0);
176 }
177 catch (QueryException eQ) {
178 Assert.fail("unable to query: " + eQ.getMessage());
179 }
180 }
181
182
183
184
185 public void testNameScoped() {
186 GrouperSession s = SessionHelper.getRootSession();
187 Stem root = StemHelper.findRootStem(s);
188 Stem edu = StemHelper.addChildStem(root, "edu", "education");
189 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
190 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
191 Stem com = StemHelper.addChildStem(root, "com", "commercial");
192 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
193
194 try {
195 GrouperQuery gq = GrouperQuery.createQuery(
196 s, new GroupCurrentNameFilter("edu:i2", edu)
197 );
198 Assert.assertTrue("groups", gq.getGroups().size() == 1);
199 Assert.assertTrue("members", gq.getMembers().size() == 0);
200 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
201 Assert.assertTrue("stems", gq.getStems().size() == 0);
202 }
203 catch (QueryException eQ) {
204 Assert.fail("unable to query: " + eQ.getMessage());
205 }
206
207 try {
208 GrouperQuery gq = GrouperQuery.createQuery(
209 s, new GroupCurrentNameFilter("DU:I", edu)
210 );
211 Assert.assertTrue("groups", gq.getGroups().size() == 1);
212 Assert.assertTrue("members", gq.getMembers().size() == 0);
213 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
214 Assert.assertTrue("stems", gq.getStems().size() == 0);
215 }
216 catch (QueryException eQ) {
217 Assert.fail("unable to query: " + eQ.getMessage());
218 }
219
220 try {
221 GrouperQuery gq = GrouperQuery.createQuery(
222 s, new GroupCurrentNameFilter("edu:i2", com)
223 );
224 Assert.assertTrue("groups", gq.getGroups().size() == 0);
225 Assert.assertTrue("members", gq.getMembers().size() == 0);
226 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
227 Assert.assertTrue("stems", gq.getStems().size() == 0);
228 }
229 catch (QueryException eQ) {
230 Assert.fail("unable to query: " + eQ.getMessage());
231 }
232 }
233
234
235
236
237
238 public void testAlternateName() {
239 GrouperSession s = SessionHelper.getRootSession();
240 Stem root = StemHelper.findRootStem(s);
241 Stem edu = StemHelper.addChildStem(root, "edu", "education");
242 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
243 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
244 Stem com = StemHelper.addChildStem(root, "com", "commercial");
245 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
246
247 i2.addAlternateName("education:internet2alt");
248 i2.store();
249
250 try {
251 GrouperQuery gq = GrouperQuery.createQuery(
252 s, new GroupCurrentNameFilter("education:internet2alt", root)
253 );
254 Assert.assertTrue("groups", gq.getGroups().size() == 0);
255 Assert.assertTrue("members", gq.getMembers().size() == 0);
256 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
257 Assert.assertTrue("stems", gq.getStems().size() == 0);
258 }
259 catch (QueryException eQ) {
260 Assert.fail("unable to query: " + eQ.getMessage());
261 }
262 }
263
264
265
266
267
268 public void testAlternateNameScoped() {
269 GrouperSession s = SessionHelper.getRootSession();
270 Stem root = StemHelper.findRootStem(s);
271 Stem edu = StemHelper.addChildStem(root, "edu", "education");
272 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
273 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
274 Stem com = StemHelper.addChildStem(root, "com", "commercial");
275 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
276
277 i2.addAlternateName("education:internet2alt");
278 i2.store();
279
280 try {
281 GrouperQuery gq = GrouperQuery.createQuery(
282 s, new GroupCurrentNameFilter("education:internet2alt", edu)
283 );
284 Assert.assertTrue("groups", gq.getGroups().size() == 0);
285 Assert.assertTrue("members", gq.getMembers().size() == 0);
286 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
287 Assert.assertTrue("stems", gq.getStems().size() == 0);
288 }
289 catch (QueryException eQ) {
290 Assert.fail("unable to query: " + eQ.getMessage());
291 }
292 }
293
294
295
296
297
298 public void testSecurity() throws Exception {
299 GrouperSession s = SessionHelper.getRootSession();
300 Stem root = StemHelper.findRootStem(s);
301 Stem edu = StemHelper.addChildStem(root, "edu", "education");
302 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
303 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
304 Stem com = StemHelper.addChildStem(root, "com", "commercial");
305 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
306
307 i2.revokePriv(AccessPrivilege.READ);
308 i2.revokePriv(AccessPrivilege.VIEW);
309
310 R r = R.populateRegistry(0, 0, 1);
311 Subject subjA = r.getSubject("a");
312 GrouperSession subjASession = GrouperSession.start(subjA);
313
314 try {
315 GrouperQuery gq = GrouperQuery.createQuery(
316 subjASession, new GroupCurrentNameFilter("edu:i2", root)
317 );
318 Assert.assertTrue("groups", gq.getGroups().size() == 0);
319 Assert.assertTrue("members", gq.getMembers().size() == 0);
320 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
321 Assert.assertTrue("stems", gq.getStems().size() == 0);
322 }
323 catch (QueryException eQ) {
324 Assert.fail("unable to query: " + eQ.getMessage());
325 }
326 }
327
328
329
330
331
332 public void testSecurityScoped() throws Exception {
333 GrouperSession s = SessionHelper.getRootSession();
334 Stem root = StemHelper.findRootStem(s);
335 Stem edu = StemHelper.addChildStem(root, "edu", "education");
336 Group i2 = StemHelper.addChildGroup(edu, "i2", "internet2");
337 Group uofc = StemHelper.addChildGroup(edu, "uofc", "uchicago");
338 Stem com = StemHelper.addChildStem(root, "com", "commercial");
339 Group dev = StemHelper.addChildGroup(com, "devclue", "devclue");
340
341 i2.revokePriv(AccessPrivilege.READ);
342 i2.revokePriv(AccessPrivilege.VIEW);
343
344 R r = R.populateRegistry(0, 0, 1);
345 Subject subjA = r.getSubject("a");
346 GrouperSession subjASession = GrouperSession.start(subjA);
347
348 try {
349 GrouperQuery gq = GrouperQuery.createQuery(
350 subjASession, new GroupCurrentNameFilter("edu:i2", edu)
351 );
352 Assert.assertTrue("groups", gq.getGroups().size() == 0);
353 Assert.assertTrue("members", gq.getMembers().size() == 0);
354 Assert.assertTrue("mships", gq.getMemberships().size() == 0);
355 Assert.assertTrue("stems", gq.getStems().size() == 0);
356 }
357 catch (QueryException eQ) {
358 Assert.fail("unable to query: " + eQ.getMessage());
359 }
360 }
361 }