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 ******************************************************************************/
22 package org.onap.aaf.auth.dao.aaf.test;
24 import static junit.framework.Assert.assertEquals;
25 import static junit.framework.Assert.assertTrue;
27 import java.io.IOException;
28 import java.nio.ByteBuffer;
29 import java.util.List;
31 import org.junit.Test;
32 import org.onap.aaf.auth.dao.cass.PermDAO;
33 import org.onap.aaf.auth.dao.cass.RoleDAO;
34 import org.onap.aaf.auth.dao.cass.RoleDAO.Data;
35 import org.onap.aaf.auth.layer.Result;
36 import org.onap.aaf.misc.env.APIException;
39 public class JU_RoleDAO extends AbsJUCass {
42 public void test() throws IOException, APIException {
43 RoleDAO rd = new RoleDAO(trans, cluster, AUTHZ);
45 Data data = new RoleDAO.Data();
46 data.ns = "com.test.ju_role";
50 ByteBuffer bb = data.bytify();
51 Data bdata = new RoleDAO.Data();
52 bdata.reconstitute(bb);
56 Result<Data> rdc = rd.create(trans, data);
57 assertTrue(rdc.isOK());
58 Result<List<Data>> rdrr;
61 rdrr = rd.read(trans, data);
62 assertTrue(rdrr.isOKhasData());
63 assertEquals(rdrr.value.size(),1);
64 Data d = rdrr.value.get(0);
65 assertEquals(d.perms.size(),0);
66 assertEquals(d.name,data.name);
67 assertEquals(d.ns,data.ns);
69 PermDAO.Data perm = new PermDAO.Data();
72 perm.instance = "perm1";
73 perm.action = "write";
76 Result<Void> rdar = rd.addPerm(trans, data, perm);
77 assertTrue(rdar.isOK());
78 rdrr = rd.read(trans, data);
79 assertTrue(rdrr.isOKhasData());
80 assertEquals(rdrr.value.size(),1);
81 assertEquals(rdrr.value.get(0).perms.size(),1);
82 assertTrue(rdrr.value.get(0).perms.contains(perm.encode()));
85 rdar = rd.delPerm(trans, data,perm);
86 assertTrue(rdar.isOK());
87 rdrr = rd.read(trans, data);
88 assertTrue(rdrr.isOKhasData());
89 assertEquals(rdrr.value.size(),1);
90 assertEquals(rdrr.value.get(0).perms.size(),0);
93 Data data2 = new Data();
95 data2.name = data.name + ".2";
97 rdc = rd.create(trans, data2);
98 assertTrue(rdc.isOK());
100 rdrr = rd.readChildren(trans, data.ns,data.name);
101 assertTrue(rdrr.isOKhasData());
102 assertEquals(rdrr.value.size(),1);
103 assertEquals(rdrr.value.get(0).name,data.name + ".2");
105 rdrr = rd.readChildren(trans, data.ns,"*");
106 assertTrue(rdrr.isOKhasData());
107 assertEquals(rdrr.value.size(),2);
111 rd.delete(trans, data2, true);
116 Result<Void> rddr = rd.delete(trans, data, true);
117 assertTrue(rddr.isOK());
118 rdrr = rd.read(trans, data);
119 assertTrue(rdrr.isOK() && rdrr.isEmpty());
120 assertEquals(rdrr.value.size(),0);
127 private void compare(Data a, Data b) {
128 assertEquals(a.name,b.name);
129 assertEquals(a.description, b.description);
130 assertEquals(a.ns,b.ns);
131 assertEquals(a.perms(false).size(),b.perms(false).size());
132 for(String p : a.perms(false)) {
133 assertTrue(b.perms(false).contains(p));