summaryrefslogtreecommitdiffstats
path: root/authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java
diff options
context:
space:
mode:
Diffstat (limited to 'authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java')
-rw-r--r--authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java139
1 files changed, 139 insertions, 0 deletions
diff --git a/authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java b/authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java
new file mode 100644
index 00000000..ba61c61e
--- /dev/null
+++ b/authz-cass/src/test/java/org/onap/aaf/dao/aaf/test/JU_RoleDAO.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * * ===========================================================================
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ * * ============LICENSE_END====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.dao.aaf.test;
+
+import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertTrue;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.List;
+
+import org.junit.Test;
+import org.onap.aaf.authz.layer.Result;
+import org.onap.aaf.dao.aaf.cass.PermDAO;
+import org.onap.aaf.dao.aaf.cass.RoleDAO;
+import org.onap.aaf.dao.aaf.cass.RoleDAO.Data;
+
+import org.onap.aaf.inno.env.APIException;
+
+
+public class JU_RoleDAO extends AbsJUCass {
+
+ @Test
+ public void test() throws IOException, APIException {
+ RoleDAO rd = new RoleDAO(trans, cluster, AUTHZ);
+ try {
+ Data data = new RoleDAO.Data();
+ data.ns = "com.test.ju_role";
+ data.name = "role1";
+
+// Bytification
+ ByteBuffer bb = data.bytify();
+ Data bdata = new RoleDAO.Data();
+ bdata.reconstitute(bb);
+ compare(data, bdata);
+
+ // CREATE
+ Result<Data> rdc = rd.create(trans, data);
+ assertTrue(rdc.isOK());
+ Result<List<Data>> rdrr;
+ try {
+ // READ
+ rdrr = rd.read(trans, data);
+ assertTrue(rdrr.isOKhasData());
+ assertEquals(rdrr.value.size(),1);
+ Data d = rdrr.value.get(0);
+ assertEquals(d.perms.size(),0);
+ assertEquals(d.name,data.name);
+ assertEquals(d.ns,data.ns);
+
+ PermDAO.Data perm = new PermDAO.Data();
+ perm.ns = data.ns;
+ perm.type = "Perm";
+ perm.instance = "perm1";
+ perm.action = "write";
+
+ // ADD Perm
+ Result<Void> rdar = rd.addPerm(trans, data, perm);
+ assertTrue(rdar.isOK());
+ rdrr = rd.read(trans, data);
+ assertTrue(rdrr.isOKhasData());
+ assertEquals(rdrr.value.size(),1);
+ assertEquals(rdrr.value.get(0).perms.size(),1);
+ assertTrue(rdrr.value.get(0).perms.contains(perm.encode()));
+
+ // DEL Perm
+ rdar = rd.delPerm(trans, data,perm);
+ assertTrue(rdar.isOK());
+ rdrr = rd.read(trans, data);
+ assertTrue(rdrr.isOKhasData());
+ assertEquals(rdrr.value.size(),1);
+ assertEquals(rdrr.value.get(0).perms.size(),0);
+
+ // Add Child
+ Data data2 = new Data();
+ data2.ns = data.ns;
+ data2.name = data.name + ".2";
+
+ rdc = rd.create(trans, data2);
+ assertTrue(rdc.isOK());
+ try {
+ rdrr = rd.readChildren(trans, data.ns,data.name);
+ assertTrue(rdrr.isOKhasData());
+ assertEquals(rdrr.value.size(),1);
+ assertEquals(rdrr.value.get(0).name,data.name + ".2");
+
+ rdrr = rd.readChildren(trans, data.ns,"*");
+ assertTrue(rdrr.isOKhasData());
+ assertEquals(rdrr.value.size(),2);
+
+ } finally {
+ // Delete Child
+ rd.delete(trans, data2, true);
+ }
+
+ } finally {
+ // DELETE
+ Result<Void> rddr = rd.delete(trans, data, true);
+ assertTrue(rddr.isOK());
+ rdrr = rd.read(trans, data);
+ assertTrue(rdrr.isOK() && rdrr.isEmpty());
+ assertEquals(rdrr.value.size(),0);
+ }
+ } finally {
+ rd.close(trans);
+ }
+ }
+
+ private void compare(Data a, Data b) {
+ assertEquals(a.name,b.name);
+ assertEquals(a.description, b.description);
+ assertEquals(a.ns,b.ns);
+ assertEquals(a.perms(false).size(),b.perms(false).size());
+ for(String p : a.perms(false)) {
+ assertTrue(b.perms(false).contains(p));
+ }
+ }
+
+}