1 /*******************************************************************************
2 * ============LICENSE_START====================================================
4 * * ===========================================================================
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6 * * ===========================================================================
7 * * Licensed under the Apache License, Version 2.0 (the "License");
8 * * you may not use this file except in compliance with the License.
9 * * You may obtain a copy of the License at
11 * * http://www.apache.org/licenses/LICENSE-2.0
13 * * Unless required by applicable law or agreed to in writing, software
14 * * distributed under the License is distributed on an "AS IS" BASIS,
15 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * * See the License for the specific language governing permissions and
17 * * limitations under the License.
18 * * ============LICENSE_END====================================================
21 ******************************************************************************/
23 package org.onap.aaf.auth.dao.hl;
25 import static org.junit.Assert.assertNull;
26 import static org.junit.Assert.assertTrue;
27 import static org.mockito.MockitoAnnotations.initMocks;
29 import java.io.IOException;
30 import java.lang.reflect.Field;
31 import java.lang.reflect.InvocationTargetException;
32 import java.lang.reflect.Method;
33 import java.lang.reflect.Modifier;
34 import java.nio.ByteBuffer;
35 import java.text.DateFormat;
36 import java.text.ParseException;
37 import java.text.SimpleDateFormat;
38 import java.util.ArrayList;
39 import java.util.Date;
40 import java.util.GregorianCalendar;
41 import java.util.HashSet;
42 import java.util.List;
43 import java.util.Properties;
45 import java.util.UUID;
47 import org.junit.Before;
48 import org.junit.Test;
49 import org.mockito.Mock;
50 import org.mockito.Mockito;
51 import org.onap.aaf.auth.common.Define;
52 import org.onap.aaf.auth.dao.cached.CachedCredDAO;
53 import org.onap.aaf.auth.dao.cached.CachedNSDAO;
54 import org.onap.aaf.auth.dao.cached.CachedPermDAO;
55 import org.onap.aaf.auth.dao.cached.CachedRoleDAO;
56 import org.onap.aaf.auth.dao.cached.CachedUserRoleDAO;
57 import org.onap.aaf.auth.dao.cass.ApprovalDAO;
58 import org.onap.aaf.auth.dao.cass.CredDAO;
59 import org.onap.aaf.auth.dao.cass.FutureDAO;
60 import org.onap.aaf.auth.dao.cass.Namespace;
61 import org.onap.aaf.auth.dao.cass.NsDAO;
62 import org.onap.aaf.auth.dao.cass.NsSplit;
63 import org.onap.aaf.auth.dao.cass.NsType;
64 import org.onap.aaf.auth.dao.cass.PermDAO;
65 import org.onap.aaf.auth.dao.cass.RoleDAO;
66 import org.onap.aaf.auth.dao.cass.Status;
67 import org.onap.aaf.auth.dao.cass.UserRoleDAO;
68 import org.onap.aaf.auth.dao.hl.Function.FUTURE_OP;
69 import org.onap.aaf.auth.dao.hl.Function.Lookup;
70 import org.onap.aaf.auth.dao.hl.Question.Access;
71 import org.onap.aaf.auth.env.AuthzTrans;
72 import org.onap.aaf.auth.env.AuthzTrans.REQD_TYPE;
73 import org.onap.aaf.auth.layer.Result;
74 import org.onap.aaf.auth.org.Organization;
75 import org.onap.aaf.auth.org.Organization.Expiration;
76 import org.onap.aaf.auth.org.Organization.Identity;
77 import org.onap.aaf.auth.org.OrganizationException;
78 import org.onap.aaf.cadi.CadiException;
79 import org.onap.aaf.cadi.PropAccess;
80 import org.onap.aaf.cadi.config.Config;
81 import org.onap.aaf.misc.env.APIException;
82 import org.onap.aaf.misc.env.LogTarget;
84 public class JU_Function {
95 public void setUp() throws APIException, IOException {
100 public void testCreateNs() {
101 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
102 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
103 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
104 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
107 } catch (CadiException e) {
108 // TODO Auto-generated catch block
111 Namespace namespace = Mockito.mock(Namespace.class);
112 namespace.name = "test.test";
113 List<String> owner = new ArrayList<String>();
114 namespace.owner = owner;
116 Organization org = Mockito.mock(Organization.class);
117 Mockito.doReturn(org).when(trans).org();
119 NsDAO.Data data = new NsDAO.Data();
121 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
122 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
124 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
125 Result<Void> retVal = new Result<Void>(null,1,"test",new String[0]);
126 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
127 setQuestion(ques, nsDaoObj);
129 Function funcObj = new Function(trans, ques);
130 Result<Void> result = funcObj.createNS(trans, namespace, true);
131 assertTrue(3 == result.status);
135 public void testCreateNsReadSuccess() {
136 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
137 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
138 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
139 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
142 } catch (CadiException e) {
143 // TODO Auto-generated catch block
146 Namespace namespace = Mockito.mock(Namespace.class);
147 namespace.name = "test.test";
148 List<String> owner = new ArrayList<String>();
150 namespace.owner = owner;
151 List<String> admin = new ArrayList<String>();
153 namespace.admin= admin;
155 Organization org = Mockito.mock(Organization.class);
156 Mockito.doReturn(org).when(trans).org();
158 NsDAO.Data data = new NsDAO.Data();
160 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
161 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
163 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
164 Result<Void> retVal = new Result<Void>(null,1,"test",new String[0]);
165 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
166 setQuestion(ques, nsDaoObj);
168 Function funcObj = new Function(trans, ques);
169 Result<Void> result = funcObj.createNS(trans, namespace, true);
170 assertTrue(3 == result.status);
174 public void testCreateNsFromApprovaFalse() {
175 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
176 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
177 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
178 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
181 } catch (CadiException e) {
182 // TODO Auto-generated catch block
185 Namespace namespace = Mockito.mock(Namespace.class);
186 namespace.name = "test.test";
187 List<String> owner = new ArrayList<String>();
188 namespace.owner = owner;
190 Organization org = Mockito.mock(Organization.class);
191 Mockito.doReturn(org).when(trans).org();
193 NsDAO.Data data = new NsDAO.Data();
195 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
196 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
197 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
198 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal1.value, Access.write);
200 Function funcObj = new Function(trans, ques);
201 Result<Void> result = funcObj.createNS(trans, namespace, false);
202 assertTrue(1 == result.status);
204 Mockito.doReturn(retVal2).when(ques).deriveNs(trans, "test");
205 funcObj = new Function(trans, ques);
206 result = funcObj.createNS(trans, namespace, false);
207 assertTrue(1 == result.status);
211 public void testCreateNsownerLoop() {
212 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
213 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
214 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
215 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
218 } catch (CadiException e) {
219 // TODO Auto-generated catch block
222 Namespace namespace = Mockito.mock(Namespace.class);
223 namespace.name = "test.test";
224 List<String> owner = new ArrayList<String>();
226 namespace.owner = owner;
228 Organization org = Mockito.mock(Organization.class);
229 Mockito.doReturn(org).when(trans).org();
230 Mockito.doReturn(org).when(trans).org();
232 Function funcObj = new Function(trans, ques);
233 Result<Void> result = funcObj.createNS(trans, namespace, true);
234 assertTrue(result.status == Status.ERR_Policy);
235 assertTrue(result.details.contains("is not a valid user at"));
237 Identity iden=Mockito.mock(Identity.class);
239 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
240 Mockito.doReturn("test").when(iden).mayOwn();
241 } catch (OrganizationException e) {
242 // TODO Auto-generated catch block
245 result = funcObj.createNS(trans, namespace, true);
246 assertTrue(result.status == Status.ERR_Policy);
247 assertTrue(result.details.contains("is an invalid Identity"));
249 Mockito.doReturn(true).when(iden).isFound();
250 result = funcObj.createNS(trans, namespace, true);
251 assertTrue(result.status == Status.ERR_Policy);
252 assertTrue(result.details.contains("cannot be the owner of the namespace "));
254 Mockito.doReturn(true).when(org).isTestEnv();
256 Mockito.doReturn("test").when(org).validate(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.any());
257 result = funcObj.createNS(trans, namespace, true);
258 assertTrue(result.status == Status.ERR_Policy);
259 assertTrue(result.details.contains("cannot be the owner of the namespace "));
260 } catch (OrganizationException e) {
261 // TODO Auto-generated catch block
267 public void testCreateNsownerLoopException() {
268 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
269 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
270 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
271 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
274 } catch (CadiException e) {
275 // TODO Auto-generated catch block
278 Namespace namespace = Mockito.mock(Namespace.class);
279 namespace.name = "test";
280 List<String> owner = new ArrayList<String>();
282 namespace.owner = owner;
284 Organization org = Mockito.mock(Organization.class);
285 Mockito.doReturn(org).when(trans).org();
287 Function funcObj = new Function(trans, ques);
289 Identity iden=Mockito.mock(Identity.class);
291 Mockito.doThrow(new OrganizationException()).when(org).getIdentity(trans, "test");
292 Mockito.doReturn("test").when(iden).mayOwn();
293 } catch (OrganizationException e) {
294 // TODO Auto-generated catch block
298 NsDAO.Data data = new NsDAO.Data();
300 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
301 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
303 Result<Void> result = funcObj.createNS(trans, namespace, true);
304 assertTrue(result.status == Status.ERR_Security);
305 assertTrue(result.details.contains("may not create Root Namespaces"));
307 Mockito.doReturn(true).when(ques).isGranted(Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
308 retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
309 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, null);
311 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
312 Result<Void> retVal = new Result<Void>(null,1,"test",new String[0]);
313 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
314 setQuestion(ques, nsDaoObj);
316 result = funcObj.createNS(trans, namespace, true);
317 assertTrue(24 == result.status);
321 public void setQuestion(Question ques, CachedNSDAO userRoleDaoObj) {
324 nsDaoField = Question.class.getDeclaredField("nsDAO");
326 nsDaoField.setAccessible(true);
327 // remove final modifier from field
328 Field modifiersField = Field.class.getDeclaredField("modifiers");
329 modifiersField.setAccessible(true);
330 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
332 nsDaoField.set(ques, userRoleDaoObj);
333 } catch (NoSuchFieldException | SecurityException e) {
334 // TODO Auto-generated catch block
336 } catch (IllegalArgumentException e) {
337 // TODO Auto-generated catch block
339 } catch (IllegalAccessException e) {
340 // TODO Auto-generated catch block
345 public void setQuestionCredDao(Question ques, CachedCredDAO credDaoObj) {
348 nsDaoField = Question.class.getDeclaredField("credDAO");
350 nsDaoField.setAccessible(true);
351 // remove final modifier from field
352 Field modifiersField = Field.class.getDeclaredField("modifiers");
353 modifiersField.setAccessible(true);
354 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
356 nsDaoField.set(ques, credDaoObj);
357 } catch (NoSuchFieldException | SecurityException e) {
358 // TODO Auto-generated catch block
360 } catch (IllegalArgumentException e) {
361 // TODO Auto-generated catch block
363 } catch (IllegalAccessException e) {
364 // TODO Auto-generated catch block
369 public void setQuestionUserRoleDao(Question ques, CachedUserRoleDAO credDaoObj) {
372 nsDaoField = Question.class.getDeclaredField("userRoleDAO");
374 nsDaoField.setAccessible(true);
375 // remove final modifier from field
376 Field modifiersField = Field.class.getDeclaredField("modifiers");
377 modifiersField.setAccessible(true);
378 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
380 nsDaoField.set(ques, credDaoObj);
381 } catch (NoSuchFieldException | SecurityException e) {
382 // TODO Auto-generated catch block
384 } catch (IllegalArgumentException e) {
385 // TODO Auto-generated catch block
387 } catch (IllegalAccessException e) {
388 // TODO Auto-generated catch block
392 public void setQuestionCachedRoleDao(Question ques, CachedRoleDAO credDaoObj) {
395 nsDaoField = Question.class.getDeclaredField("roleDAO");
397 nsDaoField.setAccessible(true);
398 // remove final modifier from field
399 Field modifiersField = Field.class.getDeclaredField("modifiers");
400 modifiersField.setAccessible(true);
401 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
403 nsDaoField.set(ques, credDaoObj);
404 } catch (NoSuchFieldException | SecurityException e) {
405 // TODO Auto-generated catch block
407 } catch (IllegalArgumentException e) {
408 // TODO Auto-generated catch block
410 } catch (IllegalAccessException e) {
411 // TODO Auto-generated catch block
416 public void setQuestionCachedPermDao(Question ques, CachedPermDAO credDaoObj) {
419 nsDaoField = Question.class.getDeclaredField("permDAO");
421 nsDaoField.setAccessible(true);
422 // remove final modifier from field
423 Field modifiersField = Field.class.getDeclaredField("modifiers");
424 modifiersField.setAccessible(true);
425 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
427 nsDaoField.set(ques, credDaoObj);
428 } catch (NoSuchFieldException | SecurityException e) {
429 // TODO Auto-generated catch block
431 } catch (IllegalArgumentException e) {
432 // TODO Auto-generated catch block
434 } catch (IllegalAccessException e) {
435 // TODO Auto-generated catch block
439 public void setQuestionFutureDao(Question ques, FutureDAO futureDaoObj) {
442 nsDaoField = Question.class.getDeclaredField("futureDAO");
444 nsDaoField.setAccessible(true);
445 // remove final modifier from field
446 Field modifiersField = Field.class.getDeclaredField("modifiers");
447 modifiersField.setAccessible(true);
448 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
450 nsDaoField.set(ques, futureDaoObj);
451 } catch (NoSuchFieldException | SecurityException e) {
452 // TODO Auto-generated catch block
454 } catch (IllegalArgumentException e) {
455 // TODO Auto-generated catch block
457 } catch (IllegalAccessException e) {
458 // TODO Auto-generated catch block
462 public void setQuestionApprovalDao(Question ques, ApprovalDAO approvalDaoObj) {
465 nsDaoField = Question.class.getDeclaredField("approvalDAO");
467 nsDaoField.setAccessible(true);
468 // remove final modifier from field
469 Field modifiersField = Field.class.getDeclaredField("modifiers");
470 modifiersField.setAccessible(true);
471 modifiersField.setInt(nsDaoField, nsDaoField.getModifiers() & ~Modifier.FINAL);
473 nsDaoField.set(ques, approvalDaoObj);
474 } catch (NoSuchFieldException | SecurityException e) {
475 // TODO Auto-generated catch block
477 } catch (IllegalArgumentException e) {
478 // TODO Auto-generated catch block
480 } catch (IllegalAccessException e) {
481 // TODO Auto-generated catch block
486 public void testCreateNsAdminLoop() {
487 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
488 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
489 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
490 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
493 } catch (CadiException e) {
494 // TODO Auto-generated catch block
497 Namespace namespace = Mockito.mock(Namespace.class);
498 namespace.name = "test.test";
499 List<String> owner = new ArrayList<String>();
501 namespace.owner = owner;
502 namespace.admin = owner;
504 Organization org = Mockito.mock(Organization.class);
505 Mockito.doReturn(org).when(trans).org();
507 NsDAO.Data data = new NsDAO.Data();
509 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
510 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
512 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
513 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
514 Result<Void> retVal = new Result<Void>(null,1,"test",new String[0]);
515 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
516 Mockito.doReturn(retVal).when(nsDaoObj).create(Mockito.any(), Mockito.any());
517 List<CredDAO.Data> dataObj = new ArrayList<>();
518 CredDAO.Data indData = new CredDAO.Data();
520 indData.notes = "test";
521 DateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
523 indData.expires = sdf.parse("2090/01/01");
524 } catch (ParseException e1) {
525 // TODO Auto-generated catch block
526 e1.printStackTrace();
528 dataObj.add(indData);
529 Result<List<CredDAO.Data>> retVal2 = new Result<List<CredDAO.Data>>(dataObj,0,"test",new String[0]);
530 Mockito.doReturn(retVal2).when(credDAO).readID(Mockito.any(), Mockito.anyString());
531 setQuestion(ques, nsDaoObj);
532 setQuestionCredDao(ques, credDAO);
534 Identity iden=Mockito.mock(Identity.class);
536 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
537 Mockito.doReturn("test").when(iden).mayOwn();
538 Mockito.doReturn(true).when(org).isTestEnv();
539 } catch (OrganizationException e) {
540 // TODO Auto-generated catch block
544 Function funcObj = new Function(trans, ques);
545 Result<Void> result = funcObj.createNS(trans, namespace, true);
546 assertTrue(result.status == 1);
551 public void testCreateNsAdminLoopCreateSucReadChildrenFailure() {
552 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
553 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
554 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
555 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
558 } catch (CadiException e) {
559 // TODO Auto-generated catch block
562 Namespace namespace = Mockito.mock(Namespace.class);
563 namespace.name = "test.test";
564 List<String> owner = new ArrayList<String>();
566 namespace.owner = owner;
567 namespace.admin = owner;
569 Organization org = Mockito.mock(Organization.class);
570 Mockito.doReturn(org).when(trans).org();
572 NsDAO.Data data = new NsDAO.Data();
574 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
575 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
577 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
578 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
579 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
580 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
581 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
582 Result<Void> retVal = new Result<Void>(null,0,"test",new String[0]);
583 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
584 Mockito.doReturn(retVal).when(nsDaoObj).create(Mockito.any(), Mockito.any());
585 List<CredDAO.Data> dataObj = new ArrayList<>();
586 CredDAO.Data indData = new CredDAO.Data();
588 indData.notes = "test";
589 DateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
591 indData.expires = sdf.parse("2090/01/01");
592 } catch (ParseException e1) {
593 // TODO Auto-generated catch block
594 e1.printStackTrace();
596 dataObj.add(indData);
597 List<RoleDAO.Data> dataObj1 = new ArrayList<>();
598 RoleDAO.Data indData1 = new RoleDAO.Data();
599 indData1.ns = "test";
600 indData1.name = "test";
601 Set<String> permsSet = new HashSet<>();
602 permsSet.add("test|test");
603 indData1.perms = permsSet;
604 dataObj1.add(indData1);
606 List<UserRoleDAO.Data> dataObj4 = new ArrayList<>();
607 UserRoleDAO.Data indData4 = new UserRoleDAO.Data();
608 indData4.ns = "test";
609 indData4.rname = "test";
610 dataObj4.add(indData4);
612 List<PermDAO.Data> dataObj5 = new ArrayList<>();
613 PermDAO.Data indData5 = new PermDAO.Data();
614 indData5.ns = "test";
615 indData5.type = "test";
616 dataObj5.add(indData5);
618 Result<List<CredDAO.Data>> retVal2 = new Result<List<CredDAO.Data>>(dataObj,0,"test",new String[0]);
619 Result<List<CredDAO.Data>> retVal6 = new Result<List<CredDAO.Data>>(dataObj,1,"test",new String[0]);
620 Result<List<RoleDAO.Data>> retVal3 = new Result<List<RoleDAO.Data>>(dataObj1,0,"test",new String[0]);
621 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(dataObj4,0,"test",new String[0]);
622 Result<List<PermDAO.Data>> retVal5 = new Result<List<PermDAO.Data>>(dataObj5,0,"test",new String[0]);
623 Mockito.doReturn(retVal2).when(credDAO).readID(Mockito.any(), Mockito.anyString());
624 Mockito.doReturn(retVal4).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
625 Mockito.doReturn(retVal2).when(userRoleDAO).create(Mockito.any(), Mockito.any());
626 Mockito.doReturn(retVal6).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
627 Mockito.doReturn(retVal6).when(cachedRoleDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
628 Mockito.doReturn(retVal2).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
629 Mockito.doReturn(retVal5).when(cachedPermDAO).readChildren(trans, "test", "test");
630 Mockito.doReturn(retVal5).when(cachedPermDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
631 Mockito.doReturn(retVal3).when(cachedRoleDAO).readChildren(trans, "test", "test");
632 setQuestion(ques, nsDaoObj);
633 setQuestionCredDao(ques, credDAO);
634 setQuestionUserRoleDao(ques, userRoleDAO);
635 setQuestionCachedRoleDao(ques, cachedRoleDAO);
636 setQuestionCachedPermDao(ques, cachedPermDAO);
638 Identity iden=Mockito.mock(Identity.class);
640 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
641 Mockito.doReturn("test").when(iden).mayOwn();
642 Mockito.doReturn(true).when(org).isTestEnv();
643 Mockito.doReturn(new GregorianCalendar(2010, 01, 01)).when(org).expiration(null, Expiration.UserInRole);
644 } catch (OrganizationException e) {
645 // TODO Auto-generated catch block
649 Function funcObj = new Function(trans, ques);
650 Result<Void> result = funcObj.createNS(trans, namespace, true);
651 assertTrue(result.status == Status.ERR_ActionNotCompleted);
656 public void testCreateNsAdminLoopCreateSuc() {
657 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
658 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
659 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
660 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
663 } catch (CadiException e) {
664 // TODO Auto-generated catch block
667 Namespace namespace = Mockito.mock(Namespace.class);
668 namespace.name = "test.test";
669 List<String> owner = new ArrayList<String>();
671 namespace.owner = owner;
672 namespace.admin = owner;
674 Organization org = Mockito.mock(Organization.class);
675 Mockito.doReturn(org).when(trans).org();
677 NsDAO.Data data = new NsDAO.Data();
679 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
680 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
682 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
683 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
684 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
685 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
686 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
687 Result<Void> retVal = new Result<Void>(null,0,"test",new String[0]);
688 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
689 Mockito.doReturn(retVal).when(nsDaoObj).create(Mockito.any(), Mockito.any());
690 List<CredDAO.Data> dataObj = new ArrayList<>();
691 CredDAO.Data indData = new CredDAO.Data();
693 indData.notes = "test";
694 DateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
696 indData.expires = sdf.parse("2090/01/01");
697 } catch (ParseException e1) {
698 // TODO Auto-generated catch block
699 e1.printStackTrace();
701 dataObj.add(indData);
702 List<RoleDAO.Data> dataObj1 = new ArrayList<>();
703 RoleDAO.Data indData1 = new RoleDAO.Data();
704 indData1.ns = "test";
705 indData1.name = "test";
706 Set<String> permsSet = new HashSet<>();
707 permsSet.add("test|test|test|test");
708 indData1.perms = permsSet;
709 dataObj1.add(indData1);
711 List<UserRoleDAO.Data> dataObj4 = new ArrayList<>();
712 UserRoleDAO.Data indData4 = new UserRoleDAO.Data();
713 indData4.ns = "test";
714 indData4.rname = "test";
715 dataObj4.add(indData4);
717 List<PermDAO.Data> dataObj5 = new ArrayList<>();
718 PermDAO.Data indData5 = new PermDAO.Data();
719 indData5.ns = "test";
720 indData5.type = "test";
721 Set<String> rolesSet = new HashSet<>();
722 rolesSet.add("test|test|test|test");
723 indData5.roles = rolesSet;
724 dataObj5.add(indData5);
726 Result<List<CredDAO.Data>> retVal2 = new Result<List<CredDAO.Data>>(dataObj,0,"test",new String[0]);
727 Result<List<RoleDAO.Data>> retVal3 = new Result<List<RoleDAO.Data>>(dataObj1,0,"test",new String[0]);
728 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(dataObj4,0,"test",new String[0]);
729 Result<List<PermDAO.Data>> retVal5 = new Result<List<PermDAO.Data>>(dataObj5,0,"test",new String[0]);
730 Mockito.doReturn(retVal2).when(credDAO).readID(Mockito.any(), Mockito.anyString());
731 Mockito.doReturn(retVal4).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
732 Mockito.doReturn(retVal2).when(userRoleDAO).create(Mockito.any(), Mockito.any());
733 Mockito.doReturn(retVal2).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
734 Mockito.doReturn(retVal2).when(cachedRoleDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
735 Mockito.doReturn(retVal2).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
736 Mockito.doReturn(retVal5).when(cachedPermDAO).readChildren(trans, "test", "test");
737 Mockito.doReturn(retVal5).when(cachedPermDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
738 Mockito.doReturn(retVal3).when(cachedRoleDAO).readChildren(trans, "test", "test");
739 setQuestion(ques, nsDaoObj);
740 setQuestionCredDao(ques, credDAO);
741 setQuestionUserRoleDao(ques, userRoleDAO);
742 setQuestionCachedRoleDao(ques, cachedRoleDAO);
743 setQuestionCachedPermDao(ques, cachedPermDAO);
745 Identity iden=Mockito.mock(Identity.class);
747 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
748 Mockito.doReturn("test").when(iden).mayOwn();
749 Mockito.doReturn(true).when(org).isTestEnv();
750 Mockito.doReturn(new GregorianCalendar(2010, 01, 01)).when(org).expiration(null, Expiration.UserInRole);
751 } catch (OrganizationException e) {
752 // TODO Auto-generated catch block
756 Function funcObj = new Function(trans, ques);
757 Result<Void> result = funcObj.createNS(trans, namespace, true);
758 assertTrue(result.status == 0);
763 public void test4DeleteNs() {
764 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
765 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
766 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
767 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
770 } catch (CadiException e) {
771 // TODO Auto-generated catch block
774 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
775 Result<Void> retVal = new Result<Void>(null,1,"test",new String[0]);
776 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
777 setQuestion(ques, nsDaoObj);
779 Function funcObj = new Function(trans, ques);
780 Result<Void> result = funcObj.deleteNS(trans, "test");
782 assertTrue(result.status == Status.ERR_NsNotFound);
785 public void test4DeleteCanMOveFail() {
786 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
787 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
788 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.move);
789 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
790 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
793 } catch (CadiException e) {
794 // TODO Auto-generated catch block
797 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
798 List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
799 NsDAO.Data dataObj = new NsDAO.Data();
802 Result<List<NsDAO.Data>> retVal = new Result<List<NsDAO.Data>>(dataAl,0,"test",new String[0]);
803 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
804 setQuestion(ques, nsDaoObj);
806 Mockito.doReturn(false).when(ques).canMove(Mockito.any());
808 Function funcObj = new Function(trans, ques);
809 Result<Void> result = funcObj.deleteNS(trans, "test");
810 assertTrue(result.status == Status.ERR_Denied);
814 public void test4DeleteNsReadSuc() {
815 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
816 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
817 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
818 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
821 } catch (CadiException e) {
822 // TODO Auto-generated catch block
825 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
826 List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
827 NsDAO.Data dataObj = new NsDAO.Data();
830 Result<List<NsDAO.Data>> retVal = new Result<List<NsDAO.Data>>(dataAl,0,"test",new String[0]);
831 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
832 setQuestion(ques, nsDaoObj);
834 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
835 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
837 Function funcObj = new Function(trans, ques);
838 Result<Void> result = funcObj.deleteNS(trans, "test");
839 assertTrue(result.status == 1);
843 public void test4DeleteNsMayUserSuc() {
844 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
845 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
846 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
847 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
850 } catch (CadiException e) {
851 // TODO Auto-generated catch block
854 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
855 List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
856 NsDAO.Data dataObj = new NsDAO.Data();
859 Result<List<NsDAO.Data>> retVal = new Result<List<NsDAO.Data>>(dataAl,0,"test",new String[0]);
860 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
861 setQuestion(ques, nsDaoObj);
863 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
864 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
866 Function funcObj = new Function(trans, ques);
867 Result<Void> result = funcObj.deleteNS(trans, "test");
868 assertTrue(result.status == 1);
870 Mockito.doReturn(true).when(ques).isGranted(Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
872 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
873 Mockito.doReturn(retVal2).when(credDAO).readNS(Mockito.any(), Mockito.anyString());
874 setQuestionCredDao(ques, credDAO);
876 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
877 Result<List<PermDAO.Data>> retVal5 = new Result<List<PermDAO.Data>>(null,0,"test",new String[0]);
878 Mockito.doReturn(retVal5).when(cachedPermDAO).readNS(trans, "test");
879 setQuestionCachedPermDao(ques, cachedPermDAO);
881 CachedUserRoleDAO cachedUserRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
882 List<UserRoleDAO.Data> dataObj4 = new ArrayList<>();
883 UserRoleDAO.Data indData4 = new UserRoleDAO.Data();
884 indData4.ns = "test";
885 indData4.rname = "test";
886 dataObj4.add(indData4);
887 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(dataObj4,0,"test",new String[0]);
888 Mockito.doReturn(retVal4).when(cachedUserRoleDAO).readByRole(trans, "test");
889 setQuestionUserRoleDao(ques, cachedUserRoleDAO);
891 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
892 List<RoleDAO.Data> dataObj1 = new ArrayList<>();
893 RoleDAO.Data indData1 = new RoleDAO.Data();
894 indData1.ns = "test";
895 indData1.name = "test";
896 Set<String> permsSet = new HashSet<>();
897 permsSet.add("test|test");
898 indData1.perms = permsSet;
899 dataObj1.add(indData1);
900 Result<List<RoleDAO.Data>> retVal3 = new Result<List<RoleDAO.Data>>(dataObj1,0,"test",new String[0]);
901 Mockito.doReturn(retVal3).when(cachedRoleDAO).readNS(trans, "test");
902 Mockito.doReturn(retVal3).when(cachedRoleDAO).read(trans, indData1);
903 setQuestionCachedRoleDao(ques, cachedRoleDAO);
905 funcObj = new Function(trans, ques);
906 result = funcObj.deleteNS(trans, "test");
907 assertTrue(result.status == Status.ERR_DependencyExists);
909 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
910 setQuestionUserRoleDao(ques, userRoleDAO);
911 Mockito.doReturn(retVal4).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
913 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
914 funcObj = new Function(trans, ques);
915 result = funcObj.deleteNS(trans, "test");
919 public void test4DeleteNsDrivensFailure() {
920 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
921 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
922 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
923 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
926 } catch (CadiException e) {
927 // TODO Auto-generated catch block
930 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
931 List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
932 NsDAO.Data dataObj = new NsDAO.Data();
935 Result<List<NsDAO.Data>> retVal = new Result<List<NsDAO.Data>>(dataAl,0,"test",new String[0]);
936 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
937 setQuestion(ques, nsDaoObj);
939 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
940 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
942 Function funcObj = new Function(trans, ques);
943 Result<Void> result = funcObj.deleteNS(trans, "test");
944 assertTrue(result.status == 1);
946 Mockito.doReturn(true).when(ques).isGranted(Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
948 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
949 Mockito.doReturn(retVal2).when(credDAO).readNS(Mockito.any(), Mockito.anyString());
950 setQuestionCredDao(ques, credDAO);
952 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
953 List<PermDAO.Data> dataObj5 = new ArrayList<>();
954 PermDAO.Data indData5 = new PermDAO.Data();
955 indData5.ns = "test";
956 indData5.type = "test";
957 dataObj5.add(indData5);
958 Result<List<PermDAO.Data>> retVal5 = new Result<List<PermDAO.Data>>(dataObj5,0,"test",new String[0]);
959 Mockito.doReturn(retVal5).when(cachedPermDAO).readNS(trans, "test");
960 Mockito.doReturn(retVal5).when(cachedPermDAO).readNS(trans, "test.test");
961 Mockito.doReturn(retVal5).when(cachedPermDAO).read(trans, indData5);
962 setQuestionCachedPermDao(ques, cachedPermDAO);
965 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
966 List<RoleDAO.Data> dataObj1 = new ArrayList<>();
967 RoleDAO.Data indData1 = new RoleDAO.Data();
968 indData1.ns = "test";
969 indData1.name = "test";
970 Set<String> permsSet = new HashSet<>();
971 permsSet.add("test|test");
972 indData1.perms = permsSet;
973 dataObj1.add(indData1);
974 Result<List<RoleDAO.Data>> retVal3 = new Result<List<RoleDAO.Data>>(dataObj1,0,"test",new String[0]);
975 Mockito.doReturn(retVal3).when(cachedRoleDAO).readNS(trans, "test");
976 Mockito.doReturn(retVal3).when(cachedRoleDAO).readNS(trans, "test.test");
977 Mockito.doReturn(retVal3).when(cachedRoleDAO).read(trans, indData1);
978 setQuestionCachedRoleDao(ques, cachedRoleDAO);
980 funcObj = new Function(trans, ques);
981 result = funcObj.deleteNS(trans, "test");
982 assertTrue(result.status == Status.ERR_DependencyExists);
984 NsDAO.Data data = new NsDAO.Data();
986 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
987 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
989 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
990 funcObj = new Function(trans, ques);
991 result = funcObj.deleteNS(trans, "test.test");
992 assertTrue(result.status == 1);
995 public void test4DeleteNsWithDot() {
996 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
997 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
998 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
999 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1002 } catch (CadiException e) {
1003 // TODO Auto-generated catch block
1004 e.printStackTrace();
1006 CachedNSDAO nsDaoObj = Mockito.mock(CachedNSDAO.class);
1007 List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1008 NsDAO.Data dataObj = new NsDAO.Data();
1010 dataAl.add(dataObj);
1011 Result<List<NsDAO.Data>> retVal = new Result<List<NsDAO.Data>>(dataAl,0,"test",new String[0]);
1012 Mockito.doReturn(retVal).when(nsDaoObj).read(Mockito.any(), Mockito.anyString());
1013 setQuestion(ques, nsDaoObj);
1015 List<CredDAO.Data> nsDataList = new ArrayList<CredDAO.Data>();
1016 CredDAO.Data nsData = new CredDAO.Data();
1018 nsDataList.add(nsData);
1019 Result<List<CredDAO.Data>> retVal21 = new Result<List<CredDAO.Data>>(nsDataList,0,"test",new String[0]);
1020 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1021 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
1023 Function funcObj = new Function(trans, ques);
1024 Result<Void> result = funcObj.deleteNS(trans, "test");
1025 assertTrue(result.status == 1);
1027 Mockito.doReturn(true).when(ques).isGranted(Mockito.any(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
1029 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
1030 Mockito.doReturn(retVal21).when(credDAO).readNS(Mockito.any(), Mockito.anyString());
1031 Mockito.doReturn(retVal21).when(credDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
1032 setQuestionCredDao(ques, credDAO);
1034 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1035 List<PermDAO.Data> dataObj5 = new ArrayList<>();
1036 PermDAO.Data indData5 = new PermDAO.Data();
1037 indData5.ns = "test";
1038 indData5.type = "test";
1039 dataObj5.add(indData5);
1040 Result<List<PermDAO.Data>> retVal5 = new Result<List<PermDAO.Data>>(dataObj5,0,"test",new String[0]);
1041 Mockito.doReturn(retVal5).when(cachedPermDAO).readNS(trans, "test");
1042 Mockito.doReturn(retVal5).when(cachedPermDAO).readNS(trans, "test.test");
1043 Mockito.doReturn(retVal5).when(cachedPermDAO).read(trans, indData5);
1044 setQuestionCachedPermDao(ques, cachedPermDAO);
1046 CachedUserRoleDAO cachedUserRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1047 List<UserRoleDAO.Data> dataObj4 = new ArrayList<>();
1048 UserRoleDAO.Data indData4 = new UserRoleDAO.Data();
1049 indData4.ns = "test";
1050 indData4.rname = "test";
1051 dataObj4.add(indData4);
1052 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(dataObj4,0,"test",new String[0]);
1053 Mockito.doReturn(retVal4).when(cachedUserRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1054 Mockito.doReturn(retVal4).when(cachedUserRoleDAO).readByUser(Mockito.any(), Mockito.anyString());
1055 setQuestionUserRoleDao(ques, cachedUserRoleDAO);
1057 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1058 List<RoleDAO.Data> dataObj1 = new ArrayList<>();
1059 RoleDAO.Data indData1 = new RoleDAO.Data();
1060 indData1.ns = "test";
1061 indData1.name = "admin";
1062 Set<String> permsSet = new HashSet<>();
1063 permsSet.add("test|test");
1064 indData1.perms = permsSet;
1065 dataObj1.add(indData1);
1066 Result<List<RoleDAO.Data>> retVal3 = new Result<List<RoleDAO.Data>>(dataObj1,0,"test",new String[0]);
1067 Mockito.doReturn(retVal3).when(cachedRoleDAO).readNS(trans, "test");
1068 Mockito.doReturn(retVal3).when(cachedRoleDAO).readNS(trans, "test.test");
1069 Mockito.doReturn(retVal3).when(cachedRoleDAO).read(trans, indData1);
1070 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1072 funcObj = new Function(trans, ques);
1073 result = funcObj.deleteNS(trans, "test");
1074 assertTrue(result.status == Status.ERR_DependencyExists);
1076 NsDAO.Data data = new NsDAO.Data();
1078 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1079 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1081 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
1082 funcObj = new Function(trans, ques);
1083 result = funcObj.deleteNS(trans, "test.test");
1087 public void testGetOwners() {
1088 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1089 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1090 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1091 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1094 } catch (CadiException e) {
1095 // TODO Auto-generated catch block
1096 e.printStackTrace();
1098 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1099 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1100 // NsDAO.Data dataObj = new NsDAO.Data();
1102 // dataAl.add(dataObj);
1103 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1104 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1105 setQuestionUserRoleDao(ques, userRoleDAO);
1107 // Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1108 // Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
1110 Function funcObj = new Function(trans, ques);
1111 Result<List<String>> result = funcObj.getOwners(trans, "test", false);
1112 assertTrue(result.status == 1);
1117 public void testDelOwner() {
1118 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1119 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1120 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1121 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1124 } catch (CadiException e) {
1125 // TODO Auto-generated catch block
1126 e.printStackTrace();
1128 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1129 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1130 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1131 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any( UserRoleDAO.Data.class));
1132 setQuestionUserRoleDao(ques, userRoleDAO);
1134 NsDAO.Data data = new NsDAO.Data();
1136 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1137 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1139 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
1140 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal1.value, Access.write);
1142 Function funcObj = new Function(trans, ques);
1143 Result<Void> result = funcObj.delOwner(trans, "test", "test");
1144 assertTrue(result.status == 1);
1146 retVal1 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
1147 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1148 result = funcObj.delOwner(trans, "test", "test");
1149 assertTrue(result.status == 1);
1151 retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1152 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1153 result = funcObj.delOwner(trans, "test", "test");
1154 retVal2 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1155 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal1.value, Access.write);
1156 result = funcObj.delOwner(trans, "test", "test");
1161 public void testGetAdmins() {
1162 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1163 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1164 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1165 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1168 } catch (CadiException e) {
1169 // TODO Auto-generated catch block
1170 e.printStackTrace();
1172 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1173 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1174 // NsDAO.Data dataObj = new NsDAO.Data();
1176 // dataAl.add(dataObj);
1177 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1178 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1179 setQuestionUserRoleDao(ques, userRoleDAO);
1181 // Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1182 // Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
1184 Function funcObj = new Function(trans, ques);
1185 Result<List<String>> result = funcObj.getAdmins(trans, "test", false);
1186 assertTrue(result.status == 1);
1191 public void testDelAdmin() {
1192 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1193 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1194 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1195 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1198 } catch (CadiException e) {
1199 // TODO Auto-generated catch block
1200 e.printStackTrace();
1202 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1203 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1204 Mockito.doReturn(retVal).when(userRoleDAO).readUserInRole(Mockito.any(), Mockito.anyString(), Mockito.anyString());
1205 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any( UserRoleDAO.Data.class));
1206 setQuestionUserRoleDao(ques, userRoleDAO);
1208 NsDAO.Data data = new NsDAO.Data();
1210 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1211 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1213 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
1214 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal1.value, Access.write);
1216 Function funcObj = new Function(trans, ques);
1217 Result<Void> result = funcObj.delAdmin(trans, "test", "test");
1218 assertTrue(result.status == 1);
1220 retVal1 = new Result<NsDAO.Data>(data,1,"test",new String[0]);
1221 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1222 result = funcObj.delAdmin(trans, "test", "test");
1223 assertTrue(result.status == 1);
1225 retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1226 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1227 result = funcObj.delOwner(trans, "test", "test");
1228 retVal2 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1229 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal1.value, Access.write);
1230 result = funcObj.delAdmin(trans, "test", "test");
1235 public void testMovePerms() {
1236 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1237 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1238 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1239 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1242 } catch (CadiException e) {
1243 // TODO Auto-generated catch block
1244 e.printStackTrace();
1246 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1247 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1248 // NsDAO.Data dataObj = new NsDAO.Data();
1250 // dataAl.add(dataObj);
1251 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1252 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1253 setQuestionUserRoleDao(ques, userRoleDAO);
1255 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1256 Mockito.doReturn(retVal).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(), Mockito.any());
1257 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1259 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1260 Mockito.doReturn(retVal).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1261 setQuestionCachedPermDao(ques, cachedPermDAO);
1263 NsDAO.Data nsDataObj = new NsDAO.Data();
1264 nsDataObj.name="test";
1265 StringBuilder sb = new StringBuilder();
1266 Result<List<PermDAO.Data>> retVal1 = new Result<List<PermDAO.Data>>(null,1,"test",new String[0]);
1268 invokeMovePerms(nsDataObj, sb, retVal1);
1270 List<PermDAO.Data> dataObj5 = new ArrayList<>();
1271 PermDAO.Data indData5 = new PermDAO.Data();
1272 indData5.ns = "test";
1273 indData5.type = "test";
1274 Set<String> rolesSet = new HashSet<>();
1275 rolesSet.add("testRole");
1276 indData5.roles = rolesSet;
1277 dataObj5.add(indData5);
1278 indData5 = new PermDAO.Data();
1279 indData5.ns = "test";
1280 indData5.type = "access";
1281 dataObj5.add(indData5);
1282 retVal1 = new Result<List<PermDAO.Data>>(dataObj5,0,"test",new String[0]);
1284 Result<List<UserRoleDAO.Data>> retVal3 = new Result<List<UserRoleDAO.Data>>(null,0,"test",new String[0]);
1285 Mockito.doReturn(retVal3).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1286 Mockito.doReturn(retVal3).when(cachedPermDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
1288 NsSplit splitObj = new NsSplit("test", "test");
1289 Result<NsSplit> retVal2 = new Result<NsSplit>(splitObj,0,"test",new String[0]);
1290 Mockito.doReturn(retVal2).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1292 invokeMovePerms(nsDataObj, sb, retVal1);
1294 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1295 Mockito.doReturn(retVal4).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1296 invokeMovePerms(nsDataObj, sb, retVal1);
1298 Mockito.doReturn(retVal3).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1299 Mockito.doReturn(retVal4).when(cachedPermDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
1300 invokeMovePerms(nsDataObj, sb, retVal1);
1304 private void invokeMovePerms(NsDAO.Data nsDataObj, StringBuilder sb,Result<List<PermDAO.Data>> retVal1) {
1305 Function funcObj = new Function(trans, ques);
1308 met = Function.class.getDeclaredMethod("movePerms", AuthzTrans.class, NsDAO.Data.class, StringBuilder.class, Result.class);
1309 met.setAccessible(true);
1310 met.invoke(funcObj, trans, nsDataObj, sb, retVal1);
1311 } catch (NoSuchMethodException | SecurityException e) {
1312 // TODO Auto-generated catch block
1313 e.printStackTrace();
1314 } catch (IllegalAccessException e) {
1315 // TODO Auto-generated catch block
1316 e.printStackTrace();
1317 } catch (IllegalArgumentException e) {
1318 // TODO Auto-generated catch block
1319 e.printStackTrace();
1320 } catch (InvocationTargetException e) {
1321 // TODO Auto-generated catch block
1322 e.printStackTrace();
1327 public void testMoveRoles() {
1328 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1329 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1330 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1331 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1334 } catch (CadiException e) {
1335 // TODO Auto-generated catch block
1336 e.printStackTrace();
1338 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1339 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1340 // NsDAO.Data dataObj = new NsDAO.Data();
1342 // dataAl.add(dataObj);
1343 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1344 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1345 setQuestionUserRoleDao(ques, userRoleDAO);
1347 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1348 Mockito.doReturn(retVal).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(), Mockito.any());
1349 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1351 Mockito.doReturn(retVal).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
1353 NsDAO.Data nsDataObj = new NsDAO.Data();
1354 nsDataObj.name="test";
1355 StringBuilder sb = new StringBuilder();
1356 Result<List<RoleDAO.Data>> retVal1 = new Result<List<RoleDAO.Data>>(null,1,"test",new String[0]);
1358 invokeMoveRoles(nsDataObj, sb, retVal1);
1360 List<RoleDAO.Data> dataObj5 = new ArrayList<>();
1361 RoleDAO.Data indData5 = new RoleDAO.Data();
1362 indData5.ns = "test";
1363 indData5.name = "test";
1364 Set<String> rolesSet = new HashSet<>();
1365 rolesSet.add("testRole");
1366 indData5.perms = rolesSet;
1367 dataObj5.add(indData5);
1368 indData5 = new RoleDAO.Data();
1369 indData5.ns = "test";
1370 indData5.name = "admin";
1371 dataObj5.add(indData5);
1372 retVal1 = new Result<List<RoleDAO.Data>>(dataObj5,0,"test",new String[0]);
1374 Result<List<UserRoleDAO.Data>> retVal3 = new Result<List<UserRoleDAO.Data>>(null,0,"test",new String[0]);
1375 Mockito.doReturn(retVal3).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
1376 Mockito.doReturn(retVal3).when(cachedRoleDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
1378 NsSplit splitObj = new NsSplit("test", "test");
1379 Result<NsSplit> retVal2 = new Result<NsSplit>(splitObj,0,"test",new String[0]);
1380 Mockito.doReturn(retVal2).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1382 invokeMoveRoles(nsDataObj, sb, retVal1);
1384 Result<List<UserRoleDAO.Data>> retVal4 = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1385 Mockito.doReturn(retVal4).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
1386 invokeMoveRoles(nsDataObj, sb, retVal1);
1388 Mockito.doReturn(retVal3).when(cachedRoleDAO).create(Mockito.any(), Mockito.any());
1389 Mockito.doReturn(retVal4).when(cachedRoleDAO).delete(Mockito.any(), Mockito.any(), Mockito.anyBoolean());
1390 invokeMoveRoles(nsDataObj, sb, retVal1);
1394 private void invokeMoveRoles(NsDAO.Data nsDataObj, StringBuilder sb,Result<List<RoleDAO.Data>> retVal1) {
1395 Function funcObj = new Function(trans, ques);
1398 met = Function.class.getDeclaredMethod("moveRoles", AuthzTrans.class, NsDAO.Data.class, StringBuilder.class, Result.class);
1399 met.setAccessible(true);
1400 met.invoke(funcObj, trans, nsDataObj, sb, retVal1);
1401 } catch (NoSuchMethodException | SecurityException e) {
1402 // TODO Auto-generated catch block
1403 e.printStackTrace();
1404 } catch (IllegalAccessException e) {
1405 // TODO Auto-generated catch block
1406 e.printStackTrace();
1407 } catch (IllegalArgumentException e) {
1408 // TODO Auto-generated catch block
1409 e.printStackTrace();
1410 } catch (InvocationTargetException e) {
1411 // TODO Auto-generated catch block
1412 e.printStackTrace();
1417 public void testCreatePerm() {
1418 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1419 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1420 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
1421 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1422 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1425 } catch (CadiException e) {
1426 // TODO Auto-generated catch block
1427 e.printStackTrace();
1429 List<PermDAO.Data> dataAl = new ArrayList<PermDAO.Data>();
1430 PermDAO.Data perm = new PermDAO.Data();
1431 Set<String> rolesSet = new HashSet<>();
1432 rolesSet.add("testRole");
1433 perm.roles = rolesSet;
1436 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1437 Mockito.doReturn(retVal).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1439 CachedRoleDAO userRoleDAO = Mockito.mock(CachedRoleDAO.class);
1440 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1441 Mockito.doReturn(retVal).when(userRoleDAO).create(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1442 setQuestionCachedRoleDao(ques, userRoleDAO);
1444 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1445 Mockito.doReturn(retVal).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1446 Mockito.doReturn(retVal).when(cachedPermDAO).read(trans, perm);
1447 setQuestionCachedPermDao(ques, cachedPermDAO);
1449 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1450 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,perm, Access.write);
1452 Function funcObj = new Function(trans, ques);
1453 Result<Void> result = funcObj.createPerm(trans, perm, false);
1454 assertTrue(result.status == 1);
1456 retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1457 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,perm, Access.write);
1458 result = funcObj.createPerm(trans, perm, false);
1459 assertTrue(result.status == 1);
1461 NsSplit nsObj = new NsSplit("test","test");
1462 Result<NsSplit> retValNs = new Result<NsSplit>(nsObj,0,"test",new String[0]);
1463 Mockito.doReturn(retValNs).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1464 Mockito.doReturn(retVal2).when(ques).mayUser(Mockito.any(), Mockito.anyString(),Mockito.any(RoleDAO.Data.class), Mockito.any());
1465 result = funcObj.createPerm(trans, perm, false);
1467 Mockito.doReturn(retVal).when(cachedPermDAO).read(trans, perm);
1468 result = funcObj.createPerm(trans, perm, true);
1469 assertTrue(result.status == 1);
1471 Mockito.doReturn(retVal2).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1472 result = funcObj.createPerm(trans, perm, true);
1473 assertTrue(result.status == 0);
1475 Mockito.doReturn(false).when(trans).requested(REQD_TYPE.force);
1476 Result<List<PermDAO.Data>> retVal1 = new Result<List<PermDAO.Data>>(dataAl,0,"test",new String[0]);
1477 Mockito.doReturn(retVal1).when(cachedPermDAO).read(trans, perm);
1478 result = funcObj.createPerm(trans, perm, true);
1479 assertTrue(result.status == Status.ERR_ConflictAlreadyExists);
1483 public void testDeletePerm() {
1484 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1485 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1486 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1487 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1490 } catch (CadiException e) {
1491 // TODO Auto-generated catch block
1492 e.printStackTrace();
1494 List<PermDAO.Data> dataAl = new ArrayList<PermDAO.Data>();
1495 PermDAO.Data perm = new PermDAO.Data();
1496 Set<String> rolesSet = new HashSet<>();
1497 rolesSet.add("testRole");
1498 perm.roles = rolesSet;
1502 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1503 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,perm, Access.write);
1505 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1506 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1507 // NsDAO.Data dataObj = new NsDAO.Data();
1509 // dataAl.add(dataObj);
1510 Result<List<PermDAO.Data>> retVal = new Result<List<PermDAO.Data>>(dataAl,1,"test",new String[0]);
1511 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1512 setQuestionUserRoleDao(ques, userRoleDAO);
1514 Function funcObj = new Function(trans, ques);
1515 Result<Void> result = funcObj.deletePerm(trans, perm, true,false);
1516 assertTrue(result.status == 1);
1518 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1519 // Mockito.doReturn(retVal).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1520 Mockito.doReturn(retVal).when(cachedPermDAO).read(trans, perm);
1521 setQuestionCachedPermDao(ques, cachedPermDAO);
1523 result = funcObj.deletePerm(trans, perm, true,true);
1524 assertTrue(result.status == Status.ERR_PermissionNotFound);
1526 retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1527 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,perm, Access.write);
1528 Result<List<PermDAO.Data>> retVal3 = new Result<List<PermDAO.Data>>(dataAl,0,"test",new String[0]);
1529 Mockito.doReturn(retVal3).when(cachedPermDAO).read(trans, perm);
1531 NsSplit nsObj = new NsSplit("test","test");
1532 Result<NsSplit> retValNs = new Result<NsSplit>(nsObj,0,"test",new String[0]);
1533 Mockito.doReturn(retValNs).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1535 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1536 Mockito.doReturn(retVal).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(), Mockito.any());
1537 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1539 result = funcObj.deletePerm(trans, perm, true,false);
1542 Mockito.doReturn(retVal2).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(), Mockito.any());
1543 result = funcObj.deletePerm(trans, perm, true,false);
1546 result = funcObj.deletePerm(trans, perm, false,false);
1547 // assertTrue(result.status == 1);
1551 public void testDeleteRole() {
1552 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1553 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1554 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1555 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1558 } catch (CadiException e) {
1559 // TODO Auto-generated catch block
1560 e.printStackTrace();
1563 List<UserRoleDAO.Data> dataAlUser = new ArrayList<UserRoleDAO.Data>();
1564 UserRoleDAO.Data roleUser = new UserRoleDAO.Data();
1565 Set<String> rolesSetUser = new HashSet<>();
1566 rolesSetUser.add("testRole|test|test");
1567 // perm.roles = rolesSet;
1569 dataAlUser.add(roleUser);
1571 List<RoleDAO.Data> dataAl = new ArrayList<RoleDAO.Data>();
1572 RoleDAO.Data role = new RoleDAO.Data();
1573 Set<String> rolesSet = new HashSet<>();
1574 rolesSet.add("testRole|test|test");
1575 role.perms = rolesSet;
1576 // perm.roles = rolesSet;
1580 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1581 Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,role, Access.write);
1583 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1584 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1585 // NsDAO.Data dataObj = new NsDAO.Data();
1587 // dataAl.add(dataObj);
1588 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1589 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1590 setQuestionUserRoleDao(ques, userRoleDAO);
1592 // Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1593 // Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
1595 Function funcObj = new Function(trans, ques);
1596 Result<Void> result = funcObj.deleteRole(trans, role, true, false);
1597 assertTrue(result.status == 1);
1599 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1600 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1601 Result<List<RoleDAO.Data>> retVal1 = new Result<List<RoleDAO.Data>>(dataAl,0,"test",new String[0]);
1602 Mockito.doReturn(retVal1).when(cachedRoleDAO).read(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1603 NsSplit splitObj = new NsSplit("test", "test");
1604 Result<NsSplit> retVal3 = new Result<NsSplit>(splitObj,0,"test",new String[0]);
1605 Mockito.doReturn(retVal3).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1606 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1607 // Mockito.doReturn(retVal).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1608 Mockito.doReturn(retVal).when(cachedPermDAO).delRole(Mockito.any(), Mockito.any(),Mockito.any());
1609 setQuestionCachedPermDao(ques, cachedPermDAO);
1610 result = funcObj.deleteRole(trans, role, true, true);
1613 Mockito.doReturn(retVal1).when(cachedPermDAO).delRole(Mockito.any(), Mockito.any(),Mockito.any());
1614 result = funcObj.deleteRole(trans, role, true, true);
1617 Mockito.doReturn(retVal).when(cachedRoleDAO).read(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1618 result = funcObj.deleteRole(trans, role, true, true);
1619 assertTrue(result.status == Status.ERR_RoleNotFound);
1621 retVal = new Result<List<UserRoleDAO.Data>>(dataAlUser,0,"test",new String[0]);
1622 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1623 result = funcObj.deleteRole(trans, role, false, true);
1624 assertTrue(result.status == Status.ERR_DependencyExists);
1628 public void testAddPermToRole() {
1629 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1630 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1631 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1632 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1635 } catch (CadiException e) {
1636 // TODO Auto-generated catch block
1637 e.printStackTrace();
1639 List<PermDAO.Data> dataAlPerm = new ArrayList<PermDAO.Data>();
1640 PermDAO.Data rolePerm = new PermDAO.Data();
1641 Set<String> rolesSetUser = new HashSet<>();
1642 rolesSetUser.add("testRole|test|test");
1643 // perm.roles = rolesSet;
1645 dataAlPerm.add(rolePerm);
1647 List<RoleDAO.Data> dataAl = new ArrayList<RoleDAO.Data>();
1648 RoleDAO.Data role = new RoleDAO.Data();
1649 Set<String> rolesSet = new HashSet<>();
1650 rolesSet.add("17623");
1651 role.perms = rolesSet;
1652 // perm.roles = rolesSet;
1656 NsDAO.Data nsObj = new NsDAO.Data();
1658 NsDAO.Data nsObj1 = new NsDAO.Data();
1659 nsObj1.name="test12";
1661 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1662 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1663 // NsDAO.Data dataObj = new NsDAO.Data();
1665 // dataAl.add(dataObj);
1666 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1667 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1668 setQuestionUserRoleDao(ques, userRoleDAO);
1670 Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(nsObj,0,"test",new String[0]);
1671 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, role.ns, NsType.COMPANY);
1672 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, rolePerm.ns, NsType.COMPANY);
1674 Result<NsDAO.Data> retVal3 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1675 Mockito.doReturn(retVal3).when(ques).mayUser(trans, null,rolePerm, Access.write);
1676 Mockito.doReturn(retVal3).when(ques).mayUser(trans, null,role, Access.write);
1678 Function funcObj = new Function(trans, ques);
1679 Result<Void> result = funcObj.addPermToRole(trans, role, rolePerm, false);
1680 assertTrue(result.status == 1);
1682 retVal2 = new Result<NsDAO.Data>(nsObj,1,"test",new String[0]);
1683 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, role.ns, NsType.COMPANY);
1684 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, rolePerm.ns, NsType.COMPANY);
1685 result = funcObj.addPermToRole(trans, role, rolePerm, false);
1686 assertTrue(result.status == 1);
1689 retVal2 = new Result<NsDAO.Data>(nsObj,0,"test",new String[0]);
1690 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, role.ns, NsType.COMPANY);
1691 result = funcObj.addPermToRole(trans, role, rolePerm, false);
1692 assertTrue(result.status == 1);
1694 retVal2 = new Result<NsDAO.Data>(nsObj,0,"test1",new String[0]);
1695 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, role.ns, NsType.COMPANY);
1696 Result<NsDAO.Data> retVal21 = new Result<NsDAO.Data>(nsObj1,0,"test1",new String[0]);
1697 Mockito.doReturn(retVal21).when(ques).deriveFirstNsForType(trans, rolePerm.ns, NsType.COMPANY);
1698 result = funcObj.addPermToRole(trans, role, rolePerm, false);
1699 assertTrue(result.status == 1);
1701 retVal3 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1702 Mockito.doReturn(retVal3).when(ques).mayUser(trans, null,rolePerm, Access.write);
1703 retVal2 = new Result<NsDAO.Data>(nsObj,0,"test1",new String[0]);
1704 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, role.ns, NsType.COMPANY);
1705 Mockito.doReturn(retVal2).when(ques).deriveFirstNsForType(trans, rolePerm.ns, NsType.COMPANY);
1707 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1708 // Mockito.doReturn(retVal).when(cachedPermDAO).create(Mockito.any(), Mockito.any());
1709 Mockito.doReturn(retVal).when(cachedPermDAO).read(Mockito.any(), Mockito.any(PermDAO.Data.class));
1710 setQuestionCachedPermDao(ques, cachedPermDAO);
1712 result = funcObj.addPermToRole(trans, role, rolePerm, false);
1713 assertTrue(result.status == Status.ERR_PermissionNotFound);
1715 Result<List<PermDAO.Data>> retValPerm= new Result<List<PermDAO.Data>>(dataAlPerm,0,"test1",new String[0]);
1716 Mockito.doReturn(retValPerm).when(cachedPermDAO).read(Mockito.any(), Mockito.any(PermDAO.Data.class));
1718 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1719 Mockito.doReturn(retVal3).when(cachedRoleDAO).read(trans, role);
1720 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1722 result = funcObj.addPermToRole(trans, role, rolePerm, true);
1723 assertTrue(result.status == 22);
1725 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
1726 result = funcObj.addPermToRole(trans, role, rolePerm, true);
1727 assertTrue(result.status == 2);
1729 retVal3 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1730 Mockito.doReturn(retVal3).when(ques).mayUser(trans, null,role, Access.write);
1731 Mockito.doReturn(retVal3).when(cachedRoleDAO).create(trans, role);
1732 result = funcObj.addPermToRole(trans, role, rolePerm, true);
1733 // System.out.println(result.status);
1736 retVal3 = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1737 Mockito.doReturn(retVal3).when(cachedRoleDAO).create(trans, role);
1738 result = funcObj.addPermToRole(trans, role, rolePerm, true);
1739 assertTrue(result.status == 1);
1741 Result<List<RoleDAO.Data>> retVal31 = new Result<List<RoleDAO.Data>>(dataAl,0,"test",new String[0]);
1742 Mockito.doReturn(retVal31).when(cachedRoleDAO).read(trans, role);
1743 result = funcObj.addPermToRole(trans, role, rolePerm, true);
1744 assertTrue(result.status == 7);
1748 public void testDelPermFromRole() {
1749 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1750 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1751 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1752 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1755 } catch (CadiException e) {
1756 // TODO Auto-generated catch block
1757 e.printStackTrace();
1759 List<PermDAO.Data> dataAlPerm = new ArrayList<PermDAO.Data>();
1760 PermDAO.Data rolePerm = new PermDAO.Data();
1761 Set<String> rolesSetUser = new HashSet<>();
1762 rolesSetUser.add("testRole|test|test");
1763 // perm.roles = rolesSet;
1765 dataAlPerm.add(rolePerm);
1767 List<RoleDAO.Data> dataAl = new ArrayList<RoleDAO.Data>();
1768 RoleDAO.Data role = new RoleDAO.Data();
1769 Set<String> rolesSet = new HashSet<>();
1770 rolesSet.add("17623");
1771 role.perms = rolesSet;
1774 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1775 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1776 // NsDAO.Data dataObj = new NsDAO.Data();
1778 // dataAl.add(dataObj);
1779 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1780 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1781 setQuestionUserRoleDao(ques, userRoleDAO);
1783 Result<NsDAO.Data> retValFail = new Result<NsDAO.Data>(null,1,"test",new String[0]);
1784 Result<NsDAO.Data> retValSuc = new Result<NsDAO.Data>(null,0,"test",new String[0]);
1785 Mockito.doReturn(retValFail).when(ques).mayUser(trans, null,rolePerm, Access.write);
1786 Mockito.doReturn(retValFail).when(ques).mayUser(trans, null,role, Access.write);
1788 Function funcObj = new Function(trans, ques);
1789 Result<Void> result = funcObj.delPermFromRole(trans, role, rolePerm, false);
1790 assertTrue(result.status == Status.ERR_Denied);
1792 Mockito.doReturn(retValFail).when(ques).mayUser(trans, null,rolePerm, Access.write);
1793 Mockito.doReturn(retValSuc).when(ques).mayUser(trans, null,role, Access.write);
1795 CachedRoleDAO cachedRoleDAO = Mockito.mock(CachedRoleDAO.class);
1796 Mockito.doReturn(retValFail).when(cachedRoleDAO).read(trans, role);
1797 setQuestionCachedRoleDao(ques, cachedRoleDAO);
1799 CachedPermDAO cachedPermDAO = Mockito.mock(CachedPermDAO.class);
1800 Mockito.doReturn(retVal).when(cachedPermDAO).read(Mockito.any(), Mockito.any(PermDAO.Data.class));
1801 setQuestionCachedPermDao(ques, cachedPermDAO);
1803 result = funcObj.delPermFromRole(trans, role, rolePerm, false);
1804 assertTrue(result.status == 1);
1806 Result<List<PermDAO.Data>> retValPermSuc = new Result<List<PermDAO.Data>>(dataAlPerm,0,"test",new String[0]);
1807 Mockito.doReturn(retValPermSuc).when(cachedPermDAO).read(Mockito.any(), Mockito.any(PermDAO.Data.class));
1808 result = funcObj.delPermFromRole(trans, role, rolePerm, false);
1809 assertTrue(result.status == 1);
1811 Result<List<RoleDAO.Data>> retValRoleSuc = new Result<List<RoleDAO.Data>>(dataAl,0,"test",new String[0]);
1812 Mockito.doReturn(retValRoleSuc).when(cachedRoleDAO).read(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1813 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1814 assertTrue(result.status == Status.ERR_PermissionNotFound);
1818 rolesSet.add("null|null|null|null");
1819 role.perms = rolesSet;
1821 Mockito.doReturn(retValRoleSuc).when(cachedRoleDAO).read(Mockito.any(), Mockito.any(RoleDAO.Data.class));
1822 Mockito.doReturn(retVal).when(cachedPermDAO).delRole(Mockito.any(), Mockito.any(),Mockito.any(RoleDAO.Data.class));
1823 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1824 assertTrue(result.status == 1);
1826 Mockito.doReturn(true).when(trans).requested(REQD_TYPE.force);
1827 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1828 assertTrue(result.status == 1);
1830 Mockito.doReturn(retValRoleSuc).when(cachedPermDAO).delRole(Mockito.any(), Mockito.any(),Mockito.any(RoleDAO.Data.class));
1831 Mockito.doReturn(retVal).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(),Mockito.any(PermDAO.Data.class));
1832 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1833 assertTrue(result.status == 1);
1835 Mockito.doReturn(retValPermSuc).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(),Mockito.any(PermDAO.Data.class));
1836 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1837 assertTrue(result.status == 0);
1839 Mockito.doReturn(retVal).when(cachedPermDAO).read(Mockito.any(), Mockito.any(PermDAO.Data.class));
1840 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1841 assertTrue(result.status == 0);
1843 Mockito.doReturn(retVal).when(cachedRoleDAO).delPerm(Mockito.any(), Mockito.any(),Mockito.any(PermDAO.Data.class));
1844 result = funcObj.delPermFromRole(trans, role, rolePerm, true);
1845 assertTrue(result.status == 1);
1847 NsSplit splitObj = new NsSplit("test", "test");
1848 Result<NsSplit> retVal3 = new Result<NsSplit>(splitObj,0,"test",new String[0]);
1849 Mockito.doReturn(retVal3).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1850 Mockito.doReturn(retValFail).when(ques).mayUser(Mockito.any(), Mockito.anyString(),Mockito.any(RoleDAO.Data.class), Mockito.any());
1851 Mockito.doReturn(retValFail).when(ques).mayUser(Mockito.any(), Mockito.anyString(),Mockito.any(PermDAO.Data.class), Mockito.any());
1852 result = funcObj.delPermFromRole(trans, "test", rolePerm);
1853 assertTrue(result.status == 2);
1855 retVal3 = new Result<NsSplit>(null,1,"test",new String[0]);
1856 Mockito.doReturn(retVal3).when(ques).deriveNsSplit(Mockito.any(), Mockito.anyString());
1857 result = funcObj.delPermFromRole(trans, "test", rolePerm);
1858 assertTrue(result.status == 1);
1861 public void testAddUserRole() {
1862 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1863 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1864 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1865 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1868 } catch (CadiException e) {
1869 // TODO Auto-generated catch block
1870 e.printStackTrace();
1872 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
1873 UserRoleDAO.Data urData = new UserRoleDAO.Data();
1875 urData.rname="test";
1877 urDataAl.add(urData);
1879 Organization org = Mockito.mock(Organization.class);
1880 Mockito.doReturn(org).when(trans).org();
1881 Mockito.doReturn(Mockito.mock(GregorianCalendar.class)).when(org).expiration(Mockito.any(), Mockito.any(), Mockito.anyString());
1883 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1884 CachedRoleDAO roleDAO = Mockito.mock(CachedRoleDAO.class);
1885 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1886 Result<List<UserRoleDAO.Data>> retValSuc = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
1887 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1888 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any(UserRoleDAO.Data.class));
1889 Mockito.doReturn(retVal).when(userRoleDAO).create(Mockito.any(), Mockito.any(UserRoleDAO.Data.class));
1890 Mockito.doReturn(retValSuc).when(roleDAO).read(Mockito.any(), Mockito.anyString(), Mockito.anyString());
1891 setQuestionUserRoleDao(ques, userRoleDAO);
1892 setQuestionCachedRoleDao(ques, roleDAO);
1894 CachedCredDAO credDAO = Mockito.mock(CachedCredDAO.class);
1895 Result<List<CredDAO.Data>> retVal2 = new Result<List<CredDAO.Data>>(null,1,"test",new String[0]);
1896 Mockito.doReturn(retVal2).when(credDAO).readID(Mockito.any(), Mockito.anyString());
1897 setQuestionCredDao(ques, credDAO);
1899 Function funcObj = new Function(trans, ques);
1900 Result<Void> result = funcObj.addUserRole(trans, urData);
1901 assertTrue(result.status == 1);
1903 urData.rname=Question.ADMIN;
1904 result = funcObj.addUserRole(trans, urData);
1905 assertTrue(result.status == 1);
1907 NsDAO.Data data = new NsDAO.Data();
1909 Result<NsDAO.Data> retVal1 = new Result<NsDAO.Data>(data,0,"test",new String[0]);
1910 Mockito.doReturn(retVal1).when(ques).mayUser(trans, null,retVal1.value, Access.write);
1911 Mockito.doReturn(retVal1).when(ques).deriveNs(trans, "test");
1913 Mockito.doReturn(Mockito.mock(Identity.class)).when(org).getIdentity(trans, "test");
1914 } catch (OrganizationException e) {
1915 // TODO Auto-generated catch block
1916 e.printStackTrace();
1918 urData.rname=Question.OWNER;
1919 result = funcObj.addUserRole(trans, urData);
1920 assertTrue(result.status == 1);
1922 Mockito.doReturn(retValSuc).when(userRoleDAO).create(Mockito.any(), Mockito.any(UserRoleDAO.Data.class));
1923 result = funcObj.addUserRole(trans, urData);
1924 assertTrue(result.status == 0);
1926 Mockito.doReturn(retVal).when(roleDAO).read(Mockito.any(), Mockito.anyString(), Mockito.anyString());
1927 result = funcObj.addUserRole(trans, urData);
1928 assertTrue(result.status == Status.ERR_RoleNotFound);
1930 Mockito.doReturn(retValSuc).when(userRoleDAO).read(Mockito.any(), Mockito.any(UserRoleDAO.Data.class));
1931 result = funcObj.addUserRole(trans, urData);
1932 assertTrue(result.status == Status.ERR_ConflictAlreadyExists);
1934 result = funcObj.addUserRole(trans, "test", "test", "test");
1935 assertTrue(result.status == 1);
1938 Mockito.doReturn(null).when(org).getIdentity(trans, "test");
1939 } catch (OrganizationException e) {
1940 // TODO Auto-generated catch block
1941 e.printStackTrace();
1943 result = funcObj.addUserRole(trans, "test", "test", "test");
1944 assertTrue(result.status == Result.ERR_BadData);
1947 Mockito.doThrow(OrganizationException.class).when(org).getIdentity(trans, "test");
1948 } catch (OrganizationException e) {
1949 // TODO Auto-generated catch block
1950 e.printStackTrace();
1952 result = funcObj.addUserRole(trans, "test", "test", "test");
1953 assertTrue(result.status == 20);
1956 public void testExtendUserRole() {
1957 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
1958 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
1959 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
1960 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
1963 } catch (CadiException e) {
1964 // TODO Auto-generated catch block
1965 e.printStackTrace();
1967 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
1968 UserRoleDAO.Data urData = new UserRoleDAO.Data();
1970 urData.rname="test";
1972 urData.expires=new Date();
1973 urDataAl.add(urData);
1975 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
1976 CachedRoleDAO roleDAO = Mockito.mock(CachedRoleDAO.class);
1977 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
1978 // NsDAO.Data dataObj = new NsDAO.Data();
1980 // dataAl.add(dataObj);
1981 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
1982 Result<List<UserRoleDAO.Data>> retValSuc = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
1983 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
1984 Mockito.doReturn(retValSuc).when(roleDAO).read(Mockito.any(), Mockito.anyString(), Mockito.anyString());
1985 setQuestionUserRoleDao(ques, userRoleDAO);
1986 setQuestionCachedRoleDao(ques, roleDAO);
1988 Organization org = Mockito.mock(Organization.class);
1989 Mockito.doReturn(org).when(trans).org();
1990 Mockito.doReturn(Mockito.mock(GregorianCalendar.class)).when(org).expiration(Mockito.any(), Mockito.any());
1992 Function funcObj = new Function(trans, ques);
1993 Result<Void> result = funcObj.extendUserRole(trans, urData, false);
1996 Mockito.doReturn(retVal).when(roleDAO).read(Mockito.any(), Mockito.anyString(), Mockito.anyString());
1997 Mockito.doReturn(retValSuc).when(userRoleDAO).read(trans, urData);
1998 result = funcObj.extendUserRole(trans, urData, true);
1999 assertTrue(result.status == Status.ERR_RoleNotFound);
2001 Mockito.doReturn(retVal).when(userRoleDAO).read(trans, urData);
2002 result = funcObj.extendUserRole(trans, urData, true);
2003 assertTrue(result.status == Status.ERR_UserRoleNotFound);
2007 public void testGetUsersByRole() {
2008 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
2009 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
2010 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
2011 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
2014 } catch (CadiException e) {
2015 // TODO Auto-generated catch block
2016 e.printStackTrace();
2018 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
2019 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
2020 UserRoleDAO.Data urData = new UserRoleDAO.Data();
2022 urData.rname="test";
2024 urData.expires=new Date();
2025 urDataAl.add(urData);
2026 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
2027 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
2028 setQuestionUserRoleDao(ques, userRoleDAO);
2030 Function funcObj = new Function(trans, ques);
2031 Result<List<String>> result = funcObj.getUsersByRole(trans, "test", false);
2032 assertTrue(result.status == 0);
2034 result = funcObj.getUsersByRole(trans, "test", true);
2035 assertTrue(result.status == 0);
2037 urData.expires=new Date(130,1,1);
2038 result = funcObj.getUsersByRole(trans, "test", true);
2039 assertTrue(result.status == 0);
2043 public void testDelUserRole() {
2044 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
2045 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
2046 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
2047 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
2050 } catch (CadiException e) {
2051 // TODO Auto-generated catch block
2052 e.printStackTrace();
2054 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
2055 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
2056 UserRoleDAO.Data urData = new UserRoleDAO.Data();
2058 urData.rname="test";
2060 urData.expires=new Date();
2061 urDataAl.add(urData);
2062 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
2063 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any( UserRoleDAO.Data.class));
2064 setQuestionUserRoleDao(ques, userRoleDAO);
2066 Function funcObj = new Function(trans, ques);
2067 Result<Void> result = funcObj.delUserRole(trans, "test", "test", "test");
2070 retVal = new Result<List<UserRoleDAO.Data>>(urDataAl,1,"test",new String[0]);
2071 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any( UserRoleDAO.Data.class));
2072 result = funcObj.delUserRole(trans, "test", "test", "test");
2073 // assertTrue(result.status ==1);
2078 public void testCreateFuture() {
2079 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
2080 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
2081 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
2082 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
2085 } catch (CadiException e) {
2086 // TODO Auto-generated catch block
2087 e.printStackTrace();
2089 FutureDAO.Data data = new FutureDAO.Data();
2091 NsDAO.Data nsd = new NsDAO.Data();
2094 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
2095 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
2096 UserRoleDAO.Data urData = new UserRoleDAO.Data();
2098 urData.rname="test";
2100 urData.expires=new Date();
2101 urDataAl.add(urData);
2102 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
2103 Result<List<UserRoleDAO.Data>> retValFail = new Result<List<UserRoleDAO.Data>>(urDataAl,1,"test",new String[0]);
2104 Mockito.doReturn(retVal).when(userRoleDAO).read(Mockito.any(), Mockito.any( UserRoleDAO.Data.class));
2105 setQuestionUserRoleDao(ques, userRoleDAO);
2107 Function funcObj = new Function(trans, ques);
2108 Result<String> result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.A);
2109 assertTrue(result.status == 20);
2111 Organization org = Mockito.mock(Organization.class);
2112 Mockito.doReturn(org).when(trans).org();
2113 Identity iden=Mockito.mock(Identity.class);
2115 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
2116 Mockito.doReturn("test").when(iden).mayOwn();
2117 } catch (OrganizationException e) {
2118 // TODO Auto-generated catch block
2119 e.printStackTrace();
2121 FutureDAO.Data futureData = new FutureDAO.Data();
2123 FutureDAO futureDaoObj = Mockito.mock(FutureDAO.class);
2124 Result<FutureDAO.Data> retValFuture = new Result<FutureDAO.Data>(futureData,0,"test",new String[0]);
2125 Mockito.doReturn(retValFuture).when(futureDaoObj).create(Mockito.any(), Mockito.any( FutureDAO.Data.class), Mockito.anyString());
2126 setQuestionFutureDao(ques, futureDaoObj);
2128 ApprovalDAO.Data approvalData = new ApprovalDAO.Data();
2130 ApprovalDAO approvalDaoObj = Mockito.mock(ApprovalDAO.class);
2131 Result<ApprovalDAO.Data> retValApproval = new Result<ApprovalDAO.Data>(approvalData,0,"test",new String[0]);
2132 Mockito.doReturn(retValApproval).when(approvalDaoObj).create(Mockito.any(), Mockito.any( ApprovalDAO.Data.class));
2133 setQuestionApprovalDao(ques, approvalDaoObj);
2135 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
2136 result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.A);
2137 assertTrue(result.status == 0);
2139 result = funcObj.createFuture(trans, data, "test", "test", null, FUTURE_OP.A);
2140 assertTrue(result.status == 20);
2142 Mockito.doReturn(retValFail).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
2143 result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.A);
2144 assertTrue(result.status == Result.ERR_NotFound);
2146 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
2148 Mockito.doReturn(null).when(org).getIdentity(trans, "test");
2149 } catch (OrganizationException e) {
2150 // TODO Auto-generated catch block
2151 e.printStackTrace();
2153 result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.A);
2154 assertTrue(result.status == Result.ERR_NotFound);
2157 Mockito.doReturn(iden).when(org).getIdentity(trans, "test");
2158 } catch (OrganizationException e) {
2159 // TODO Auto-generated catch block
2160 e.printStackTrace();
2162 result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.C);
2163 assertTrue(result.status == 0);
2165 retValApproval = new Result<ApprovalDAO.Data>(null,1,"test",new String[0]);
2166 Mockito.doReturn(retValApproval).when(approvalDaoObj).create(Mockito.any(), Mockito.any( ApprovalDAO.Data.class));
2167 result = funcObj.createFuture(trans, data, "test", "test", nsd, FUTURE_OP.A);
2168 assertTrue(result.status == 8);
2171 public void testUbLookup() {
2172 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
2173 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
2174 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
2175 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
2178 } catch (CadiException e) {
2179 // TODO Auto-generated catch block
2180 e.printStackTrace();
2182 Object[] objArr = new Object[10];
2183 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
2184 List<UserRoleDAO.Data> urDataAl = new ArrayList<>();
2185 UserRoleDAO.Data urData = new UserRoleDAO.Data();
2187 urData.rname="test";
2189 urData.expires=new Date();
2190 urDataAl.add(urData);
2191 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(urDataAl,0,"test",new String[0]);
2192 Result<List<UserRoleDAO.Data>> retValFail = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
2193 Mockito.doReturn(retVal).when(userRoleDAO).read(trans, objArr);
2194 setQuestionUserRoleDao(ques, userRoleDAO);
2196 Function funcObj = new Function(trans, ques);
2197 funcObj.urDBLookup.get(trans, objArr);
2199 Mockito.doReturn(retValFail).when(userRoleDAO).read(trans, objArr);
2200 funcObj.urDBLookup.get(trans, objArr);
2204 public void testPerformFutureOp() {
2205 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).error();
2206 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).debug();
2207 Mockito.doReturn(Mockito.mock(LogTarget.class)).when(trans).info();
2208 Mockito.doReturn(Mockito.mock(Properties.class)).when(access).getProperties();
2209 Mockito.doReturn("test.test").when(access).getProperty(Config.AAF_ROOT_NS,"org.osaaf.aaf");
2212 } catch (CadiException e) {
2213 // TODO Auto-generated catch block
2214 e.printStackTrace();
2216 FutureDAO.Data futureDataDaoObj = new FutureDAO.Data();
2217 futureDataDaoObj.memo="test";
2218 futureDataDaoObj.target = "test";
2219 futureDataDaoObj.id = new UUID(10L,10L);
2221 final List<ApprovalDAO.Data> apprs = new ArrayList<>();
2222 ApprovalDAO.Data approvalObj = new ApprovalDAO.Data();
2223 approvalObj.status = "approved";
2224 approvalObj.type = "owner";
2225 apprs.add(approvalObj);
2226 Lookup<List<ApprovalDAO.Data>> lookupApprovalObj = new Lookup<List<ApprovalDAO.Data>>() {
2228 public List<ApprovalDAO.Data> get(AuthzTrans trans, Object ... keys) {
2233 final UserRoleDAO.Data userObj = new UserRoleDAO.Data();
2234 Lookup<UserRoleDAO.Data> lookupUserObj = new Lookup<UserRoleDAO.Data>() {
2236 public UserRoleDAO.Data get(AuthzTrans trans, Object ... keys) {
2241 FutureDAO.Data futureData = new FutureDAO.Data();
2242 // data.memo = "test";
2243 FutureDAO futureDaoObj = Mockito.mock(FutureDAO.class);
2244 Result<FutureDAO.Data> retValFuture = new Result<FutureDAO.Data>(futureData,0,"test",new String[0]);
2245 Mockito.doReturn(retValFuture).when(futureDaoObj).delete(Mockito.any(), Mockito.any( FutureDAO.Data.class), Mockito.anyBoolean());
2246 setQuestionFutureDao(ques, futureDaoObj);
2248 CachedUserRoleDAO userRoleDAO = Mockito.mock(CachedUserRoleDAO.class);
2249 // List<NsDAO.Data> dataAl = new ArrayList<NsDAO.Data>();
2250 // NsDAO.Data dataObj = new NsDAO.Data();
2252 // dataAl.add(dataObj);
2253 Result<List<UserRoleDAO.Data>> retVal = new Result<List<UserRoleDAO.Data>>(null,1,"test",new String[0]);
2254 Mockito.doReturn(retVal).when(userRoleDAO).readByRole(Mockito.any(), Mockito.anyString());
2255 setQuestionUserRoleDao(ques, userRoleDAO);
2257 // Result<NsDAO.Data> retVal2 = new Result<NsDAO.Data>(null,0,"test",new String[0]);
2258 // Mockito.doReturn(retVal2).when(ques).mayUser(trans, null,retVal.value.get(0), Access.write);
2260 Function funcObj = new Function(trans, ques);
2261 Result<Function.OP_STATUS> result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2262 assertTrue(result.status == 0);
2264 approvalObj.status = "approved";
2265 approvalObj.type = "supervisor";
2266 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2267 assertTrue(result.status == 0);
2269 approvalObj.status = "approved";
2270 approvalObj.type = "";
2271 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2272 assertTrue(result.status == 0);
2274 approvalObj.status = "pending";
2275 approvalObj.type = "supervisor";
2276 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2277 assertTrue(result.status == 0);
2279 approvalObj.status = "pending";
2280 approvalObj.type = "owner";
2281 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2282 assertTrue(result.status == 0);
2284 approvalObj.status = "pending";
2285 approvalObj.type = "";
2286 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2287 assertTrue(result.status == 0);
2289 approvalObj.status = "denied";
2290 approvalObj.type = "";
2291 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2292 assertTrue(result.status == 0);
2294 retValFuture = new Result<FutureDAO.Data>(futureData,1,"test",new String[0]);
2295 Mockito.doReturn(retValFuture).when(futureDaoObj).delete(Mockito.any(), Mockito.any( FutureDAO.Data.class), Mockito.anyBoolean());
2296 result = funcObj.performFutureOp(trans, FUTURE_OP.A, futureDataDaoObj, lookupApprovalObj, lookupUserObj);
2297 System.out.println(result);
2298 assertTrue(result.status == 0);