1 /*******************************************************************************
\r
2 * ============LICENSE_START====================================================
\r
4 * * ===========================================================================
\r
5 * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
\r
6 * * ===========================================================================
\r
7 * * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * * you may not use this file except in compliance with the License.
\r
9 * * You may obtain a copy of the License at
\r
11 * * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * * Unless required by applicable law or agreed to in writing, software
\r
14 * * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * * See the License for the specific language governing permissions and
\r
17 * * limitations under the License.
\r
18 * * ============LICENSE_END====================================================
\r
20 * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
\r
22 ******************************************************************************/
\r
23 package com.att.dao.aaf.test;
\r
25 import static junit.framework.Assert.assertEquals;
\r
26 import static junit.framework.Assert.assertTrue;
\r
28 import java.io.IOException;
\r
29 import java.nio.ByteBuffer;
\r
30 import java.util.List;
\r
32 import org.junit.Test;
\r
34 import com.att.authz.layer.Result;
\r
35 import com.att.dao.aaf.cass.PermDAO;
\r
36 import com.att.dao.aaf.cass.RoleDAO;
\r
37 import com.att.dao.aaf.cass.RoleDAO.Data;
\r
38 import com.att.inno.env.APIException;
\r
41 public class JU_RoleDAO extends AbsJUCass {
\r
44 public void test() throws IOException, APIException {
\r
45 RoleDAO rd = new RoleDAO(trans, cluster, AUTHZ);
\r
47 Data data = new RoleDAO.Data();
\r
48 data.ns = "com.test.ju_role";
\r
49 data.name = "role1";
\r
52 ByteBuffer bb = data.bytify();
\r
53 Data bdata = new RoleDAO.Data();
\r
54 bdata.reconstitute(bb);
\r
55 compare(data, bdata);
\r
58 Result<Data> rdc = rd.create(trans, data);
\r
59 assertTrue(rdc.isOK());
\r
60 Result<List<Data>> rdrr;
\r
63 rdrr = rd.read(trans, data);
\r
64 assertTrue(rdrr.isOKhasData());
\r
65 assertEquals(rdrr.value.size(),1);
\r
66 Data d = rdrr.value.get(0);
\r
67 assertEquals(d.perms.size(),0);
\r
68 assertEquals(d.name,data.name);
\r
69 assertEquals(d.ns,data.ns);
\r
71 PermDAO.Data perm = new PermDAO.Data();
\r
74 perm.instance = "perm1";
\r
75 perm.action = "write";
\r
78 Result<Void> rdar = rd.addPerm(trans, data, perm);
\r
79 assertTrue(rdar.isOK());
\r
80 rdrr = rd.read(trans, data);
\r
81 assertTrue(rdrr.isOKhasData());
\r
82 assertEquals(rdrr.value.size(),1);
\r
83 assertEquals(rdrr.value.get(0).perms.size(),1);
\r
84 assertTrue(rdrr.value.get(0).perms.contains(perm.encode()));
\r
87 rdar = rd.delPerm(trans, data,perm);
\r
88 assertTrue(rdar.isOK());
\r
89 rdrr = rd.read(trans, data);
\r
90 assertTrue(rdrr.isOKhasData());
\r
91 assertEquals(rdrr.value.size(),1);
\r
92 assertEquals(rdrr.value.get(0).perms.size(),0);
\r
95 Data data2 = new Data();
\r
97 data2.name = data.name + ".2";
\r
99 rdc = rd.create(trans, data2);
\r
100 assertTrue(rdc.isOK());
\r
102 rdrr = rd.readChildren(trans, data.ns,data.name);
\r
103 assertTrue(rdrr.isOKhasData());
\r
104 assertEquals(rdrr.value.size(),1);
\r
105 assertEquals(rdrr.value.get(0).name,data.name + ".2");
\r
107 rdrr = rd.readChildren(trans, data.ns,"*");
\r
108 assertTrue(rdrr.isOKhasData());
\r
109 assertEquals(rdrr.value.size(),2);
\r
113 rd.delete(trans, data2, true);
\r
118 Result<Void> rddr = rd.delete(trans, data, true);
\r
119 assertTrue(rddr.isOK());
\r
120 rdrr = rd.read(trans, data);
\r
121 assertTrue(rdrr.isOK() && rdrr.isEmpty());
\r
122 assertEquals(rdrr.value.size(),0);
\r
129 private void compare(Data a, Data b) {
\r
130 assertEquals(a.name,b.name);
\r
131 assertEquals(a.description, b.description);
\r
132 assertEquals(a.ns,b.ns);
\r
133 assertEquals(a.perms(false).size(),b.perms(false).size());
\r
134 for(String p : a.perms(false)) {
\r
135 assertTrue(b.perms(false).contains(p));
\r