+++ /dev/null
-/*******************************************************************************\r
- * ============LICENSE_START====================================================\r
- * * org.onap.aaf\r
- * * ===========================================================================\r
- * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * * ===========================================================================\r
- * * Licensed under the Apache License, Version 2.0 (the "License");\r
- * * you may not use this file except in compliance with the License.\r
- * * You may obtain a copy of the License at\r
- * * \r
- * * http://www.apache.org/licenses/LICENSE-2.0\r
- * * \r
- * * Unless required by applicable law or agreed to in writing, software\r
- * * distributed under the License is distributed on an "AS IS" BASIS,\r
- * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * * See the License for the specific language governing permissions and\r
- * * limitations under the License.\r
- * * ============LICENSE_END====================================================\r
- * *\r
- * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * *\r
- ******************************************************************************/\r
-package com.att.dao.aaf.test;\r
-\r
-import static junit.framework.Assert.assertEquals;\r
-import static junit.framework.Assert.assertTrue;\r
-\r
-import java.io.IOException;\r
-import java.nio.ByteBuffer;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.junit.Test;\r
-\r
-import com.att.authz.layer.Result;\r
-import com.att.dao.aaf.cass.PermDAO;\r
-import com.att.dao.aaf.cass.PermDAO.Data;\r
-import com.att.dao.aaf.cass.RoleDAO;\r
-import com.att.inno.env.APIException;\r
-\r
-/**\r
- * Test the PermissionDAO\r
- * \r
- * Utilize AbsJUCass to initialize and pre-load Cass\r
- * \r
- *\r
- */\r
-public class JU_PermDAO extends AbsJUCass{\r
-\r
- @Test\r
- public void test() throws APIException, IOException {\r
- PermDAO pd = new PermDAO(trans,cluster,"authz");\r
- try {\r
- PermDAO.Data data = new PermDAO.Data();\r
- data.ns = "com.test.ju_perm";\r
- data.type = "MyType";\r
- data.instance = "MyInstance";\r
- data.action = "MyAction";\r
- data.roles(true).add(data.ns + ".dev");\r
- \r
-\r
-\r
- // CREATE\r
- Result<Data> rpdc = pd.create(trans,data);\r
- assertTrue(rpdc.isOK());\r
-\r
- Result<List<PermDAO.Data>> rlpd;\r
- try {\r
-// Bytification\r
- ByteBuffer bb = data.bytify();\r
- Data bdata = new PermDAO.Data();\r
- bdata.reconstitute(bb);\r
- compare(data, bdata);\r
-\r
- // Validate Read with key fields in Data\r
- if((rlpd = pd.read(trans,data)).isOK())\r
- for(PermDAO.Data d : rlpd.value) {\r
- checkData1(data,d);\r
- }\r
- \r
- // Validate readByName\r
- if((rlpd = pd.readByType(trans,data.ns, data.type)).isOK())\r
- for(PermDAO.Data d : rlpd.value) {\r
- checkData1(data,d);\r
- }\r
- \r
- // Add Role\r
- RoleDAO.Data role = new RoleDAO.Data();\r
- role.ns = data.ns;\r
- role.name = "test";\r
- \r
- Result<Void> rvpd = pd.addRole(trans, data, role.fullName());\r
- assertTrue(rvpd.isOK());\r
- // Validate Read with key fields in Data\r
- if((rlpd = pd.read(trans,data)).isOK())\r
- for(PermDAO.Data d : rlpd.value) {\r
- checkData2(data,d);\r
- }\r
- \r
- // Remove Role\r
- rvpd = pd.delRole(trans, data, role.fullName());\r
- assertTrue(rvpd.isOK());\r
- if((rlpd = pd.read(trans,data)).isOK())\r
- for(PermDAO.Data d : rlpd.value) {\r
- checkData1(data,d);\r
- }\r
- \r
- // Add Child\r
- Data data2 = new Data();\r
- data2.ns = data.ns;\r
- data2.type = data.type + ".2";\r
- data2.instance = data.instance;\r
- data2.action = data.action;\r
- \r
- rpdc = pd.create(trans, data2);\r
- assertTrue(rpdc.isOK());\r
- try {\r
- rlpd = pd.readChildren(trans, data.ns,data.type);\r
- assertTrue(rlpd.isOKhasData());\r
- assertEquals(rlpd.value.size(),1);\r
- assertEquals(rlpd.value.get(0).fullType(),data2.fullType());\r
- } finally {\r
- // Delete Child\r
- pd.delete(trans, data2,true);\r
-\r
- }\r
- } catch (IOException e) {\r
- e.printStackTrace();\r
- } finally {\r
- // DELETE\r
- Result<Void> rpdd = pd.delete(trans,data,true);\r
- assertTrue(rpdd.isOK());\r
- rlpd = pd.read(trans, data);\r
- assertTrue(rlpd.isOK() && rlpd.isEmpty());\r
- assertEquals(rlpd.value.size(),0);\r
- }\r
- } finally {\r
- pd.close(trans);\r
- }\r
- }\r
-\r
- private void compare(Data a, Data b) {\r
- assertEquals(a.ns,b.ns);\r
- assertEquals(a.type,b.type);\r
- assertEquals(a.instance,b.instance);\r
- assertEquals(a.action,b.action);\r
- assertEquals(a.roles(false).size(),b.roles(false).size());\r
- for(String s: a.roles(false)) {\r
- assertTrue(b.roles(false).contains(s));\r
- }\r
- }\r
- private void checkData1(Data data, Data d) {\r
- assertEquals(data.ns,d.ns);\r
- assertEquals(data.type,d.type);\r
- assertEquals(data.instance,d.instance);\r
- assertEquals(data.action,d.action);\r
- \r
- Set<String> ss = d.roles(true);\r
- assertEquals(1,ss.size());\r
- assertTrue(ss.contains(data.ns+".dev"));\r
- }\r
- \r
- private void checkData2(Data data, Data d) {\r
- assertEquals(data.ns,d.ns);\r
- assertEquals(data.type,d.type);\r
- assertEquals(data.instance,d.instance);\r
- assertEquals(data.action,d.action);\r
- \r
- Set<String> ss = d.roles(true);\r
- assertEquals(2,ss.size());\r
- assertTrue(ss.contains(data.ns+".dev"));\r
- assertTrue(ss.contains(data.ns+".test"));\r
- }\r
-\r
-\r
-}\r