+++ /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 org.onap.aaf.dao.aaf.test;\r
-\r
-import static org.junit.Assert.assertEquals;\r
-import static org.junit.Assert.assertFalse;\r
-import static org.junit.Assert.assertTrue;\r
-\r
-import java.io.IOException;\r
-import java.nio.ByteBuffer;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Map.Entry;\r
-import java.util.Set;\r
-\r
-import org.junit.Test;\r
-import org.onap.aaf.authz.layer.Result;\r
-import org.onap.aaf.dao.aaf.cass.NsDAO;\r
-import org.onap.aaf.dao.aaf.cass.NsType;\r
-import org.onap.aaf.dao.aaf.cass.NsDAO.Data;\r
-\r
-import org.onap.aaf.inno.env.APIException;\r
-\r
-\r
-public class JU_NsDAO extends AbsJUCass {\r
- private static final String CRM = "ju_crm";\r
- private static final String SWM = "ju_swm";\r
-\r
- @Test\r
- public void test() throws APIException, IOException {\r
- NsDAO nsd = new NsDAO(trans, cluster, AUTHZ);\r
- try {\r
- final String nsparent = "com.test";\r
- final String ns1 = nsparent +".ju_ns";\r
- final String ns2 = nsparent + ".ju_ns2";\r
- \r
- Map<String,String> oAttribs = new HashMap<String,String>();\r
- oAttribs.put(SWM, "swm_data");\r
- oAttribs.put(CRM, "crm_data");\r
- Data data = new NsDAO.Data();\r
- data.name = ns1;\r
- data.type = NsType.APP.type;\r
- data.attrib(true).putAll(oAttribs);\r
- \r
-\r
- Result<List<Data>> rdrr;\r
-\r
- // CREATE\r
- Result<Data> rdc = nsd.create(trans, data);\r
- assertTrue(rdc.isOK());\r
- \r
- try {\r
-// Bytification\r
- ByteBuffer bb = data.bytify();\r
- Data bdata = new NsDAO.Data();\r
- bdata.reconstitute(bb);\r
- compare(data, bdata);\r
-\r
- // Test READ by Object\r
- rdrr = nsd.read(trans, data);\r
- assertTrue(rdrr.isOKhasData());\r
- assertEquals(rdrr.value.size(),1);\r
- Data d = rdrr.value.get(0);\r
- assertEquals(d.name,data.name);\r
- assertEquals(d.type,data.type);\r
- attribsEqual(d.attrib(false),data.attrib(false));\r
- attribsEqual(oAttribs,data.attrib(false));\r
- \r
- // Test Read by Key\r
- rdrr = nsd.read(trans, data.name);\r
- assertTrue(rdrr.isOKhasData());\r
- assertEquals(rdrr.value.size(),1);\r
- d = rdrr.value.get(0);\r
- assertEquals(d.name,data.name);\r
- assertEquals(d.type,data.type);\r
- attribsEqual(d.attrib(false),data.attrib(false));\r
- attribsEqual(oAttribs,data.attrib(false));\r
- \r
- // Read NS by Type\r
- Result<Set<String>> rtypes = nsd.readNsByAttrib(trans, SWM);\r
- Set<String> types;\r
- if(rtypes.notOK()) {\r
- throw new IOException(rtypes.errorString());\r
- } else {\r
- types = rtypes.value;\r
- }\r
- assertEquals(1,types.size());\r
- assertEquals(true,types.contains(ns1));\r
- \r
- // Add second NS to test list of data returned\r
- Data data2 = new NsDAO.Data();\r
- data2.name = ns2;\r
- data2.type = 3; // app\r
- Result<Data> rdc2 = nsd.create(trans, data2);\r
- assertTrue(rdc2.isOK());\r
- \r
- // Interrupt - test PARENT\r
- Result<List<Data>> rdchildren = nsd.getChildren(trans, "com.test");\r
- assertTrue(rdchildren.isOKhasData());\r
- boolean child1 = false;\r
- boolean child2 = false;\r
- for(Data dchild : rdchildren.value) {\r
- if(ns1.equals(dchild.name))child1=true;\r
- if(ns2.equals(dchild.name))child2=true;\r
- }\r
- assertTrue(child1);\r
- assertTrue(child2);\r
-\r
- // FINISH DATA 2 by deleting\r
- Result<Void> rddr = nsd.delete(trans, data2, true);\r
- assertTrue(rddr.isOK());\r
-\r
- // ADD DESCRIPTION\r
- String description = "This is my test Namespace";\r
- assertFalse(description.equalsIgnoreCase(data.description));\r
- \r
- Result<Void> addDesc = nsd.addDescription(trans, data.name, description);\r
- assertTrue(addDesc.isOK());\r
- rdrr = nsd.read(trans, data);\r
- assertTrue(rdrr.isOKhasData());\r
- assertEquals(rdrr.value.size(),1);\r
- assertEquals(rdrr.value.get(0).description,description);\r
- \r
- // UPDATE\r
- String newDescription = "zz1234 Owns This Namespace Now";\r
- oAttribs.put("mso", "mso_data");\r
- data.attrib(true).put("mso", "mso_data");\r
- data.description = newDescription;\r
- Result<Void> update = nsd.update(trans, data);\r
- assertTrue(update.isOK());\r
- rdrr = nsd.read(trans, data);\r
- assertTrue(rdrr.isOKhasData());\r
- assertEquals(rdrr.value.size(),1);\r
- assertEquals(rdrr.value.get(0).description,newDescription);\r
- attribsEqual(oAttribs, rdrr.value.get(0).attrib);\r
- \r
- \r
- } catch (IOException e) {\r
- e.printStackTrace();\r
- } finally {\r
- // DELETE\r
- Result<Void> rddr = nsd.delete(trans, data, true);\r
- assertTrue(rddr.isOK());\r
- rdrr = nsd.read(trans, data);\r
- assertTrue(rdrr.isOK() && rdrr.isEmpty());\r
- assertEquals(rdrr.value.size(),0);\r
- }\r
- } finally {\r
- nsd.close(trans);\r
- }\r
- }\r
-\r
- private void compare(NsDAO.Data d, NsDAO.Data data) {\r
- assertEquals(d.name,data.name);\r
- assertEquals(d.type,data.type);\r
- attribsEqual(d.attrib(false),data.attrib(false));\r
- attribsEqual(d.attrib(false),data.attrib(false));\r
- }\r
- \r
- private void attribsEqual(Map<String,String> aa, Map<String,String> ba) {\r
- assertEquals(aa.size(),ba.size());\r
- for(Entry<String, String> es : aa.entrySet()) {\r
- assertEquals(es.getValue(),ba.get(es.getKey()));\r
- }\r
- }\r
-}\r