Add more test cases and remove unused files 86/103886/1
authorAndrew Muller <am8383@att.com>
Tue, 17 Mar 2020 23:32:15 +0000 (19:32 -0400)
committerMuller, Andrew (am8383) <am8383@att.com>
Wed, 18 Mar 2020 15:54:09 +0000 (11:54 -0400)
Issue-ID: AAI-2829
Signed-off-by: Muller, Andrew (am8383) <am8383@att.com>
Change-Id: I117101ed0851bd3f6940210eea32e5e45c5d9396

src/main/java/org/onap/aai/dbgen/ForceDeleteTool.java
src/main/java/org/onap/aai/migration/v12/MigrateModelVerDistriubutionStatusProperty.java [deleted file]
src/main/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventory.java [deleted file]
src/main/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfiguration.java [deleted file]
src/test/java/org/onap/aai/dbgen/ForceDeleteToolTest.java
src/test/java/org/onap/aai/migration/v12/MigrateModelVerDistributionStatusPropertyTest.java [deleted file]
src/test/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventoryTest.java [deleted file]
src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java [deleted file]
src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java [deleted file]
src/test/java/org/onap/aai/migration/v13/MigrateEdgesBetweenVnfcAndVfModuleTest.java [deleted file]

index c12f3f3..7bb0555 100644 (file)
@@ -100,24 +100,29 @@ public class ForceDeleteTool {
                        for (int i = 0; i < args.length; i++) {
                                String thisArg = args[i];
                                argStr4Msg = argStr4Msg + " " + thisArg;
-                               
                                if (thisArg.equals("-action")) {
                                        i++;
                                        if (i >= args.length) {
                                                logger.error(" No value passed with -action option.  ");
+                                               System.out.println(" No value passed with -action option.  ");
                                                exit(0);
                                        }
-                                       actionVal = args[i];
-                                       argStr4Msg = argStr4Msg + " " + actionVal;
+                                       else {
+                                               actionVal = args[i];
+                                               argStr4Msg = argStr4Msg + " " + actionVal;
+                                       }
                                }
                                else if (thisArg.equals("-userId")) {
                                        i++;
                                        if (i >= args.length) {
                                                logger.error(" No value passed with -userId option.  ");
+                                               System.out.println(" No value passed with -userId option.  ");
                                                exit(0);
                                        }
-                                       userIdVal = args[i];
-                                       argStr4Msg = argStr4Msg + " " + userIdVal;
+                                       else {
+                                               userIdVal = args[i];
+                                               argStr4Msg = argStr4Msg + " " + userIdVal;
+                                       }
                                }
                                else if (thisArg.equals("-overRideProtection")) {
                                        overRideProtection = true;
@@ -129,40 +134,54 @@ public class ForceDeleteTool {
                                        i++;
                                        if (i >= args.length) {
                                                logger.error(" No value passed with -vertexId option.  ");
+                                               System.out.println(" No value passed with -vertexId option.  "); 
                                                exit(0);
                                        }
-                                       String nextArg = args[i];
-                                       argStr4Msg = argStr4Msg + " " + nextArg;
-                                       try {
-                                               vertexIdLong = Long.parseLong(nextArg);
-                                       } catch (Exception e) {
-                                               logger.error("Bad value passed with -vertexId option: ["
+                                       else {
+                                               String nextArg = args[i];
+                                               argStr4Msg = argStr4Msg + " " + nextArg;
+                                       
+                                               try {
+                                                       vertexIdLong = Long.parseLong(nextArg);
+                                               } catch (Exception e) {
+                                                       logger.error("Bad value passed with -vertexId option: ["
                                                                                + nextArg + "]");
-                                               exit(0);
+                                                       System.out.println("Bad value passed with -vertexId option: [" 
+                                                                               + nextArg + "]");
+                                                       exit(0);
+                                               }
                                        }
                                }
                                else if (thisArg.equals("-params4Collect")) {
                                        i++;
                                        if (i >= args.length) {
                                                logger.error(" No value passed with -params4Collect option.  ");
+                                               System.out.println(" No value passed with -params4Collect option.  "); 
                                                exit(0);
                                        }
-                                       dataString = args[i];
-                                       argStr4Msg = argStr4Msg + " " + dataString;
+                                       else {
+                                               dataString = args[i];
+                                               argStr4Msg = argStr4Msg + " " + dataString;
+                                       }
                                }
                                else if (thisArg.equals("-edgeId")) {
                                        i++;
                                        if (i >= args.length) {
                                                logger.error(" No value passed with -edgeId option.  ");
+                                               System.out.println(" No value passed with -edgeId option.  "); 
                                                exit(0);
                                        }
-                                       String nextArg = args[i];
-                                       argStr4Msg = argStr4Msg + " " + nextArg;
-                                       edgeIdStr = nextArg;
+                                       else {
+                                               String nextArg = args[i];
+                                               argStr4Msg = argStr4Msg + " " + nextArg;
+                                               edgeIdStr = nextArg;
+                                       }
                                }
                                else {
                                        logger.error(" Unrecognized argument passed to ForceDeleteTool: ["
                                                                        + thisArg + "]. ");
+                                       System.out.println(" Unrecognized argument passed to ForceDeleteTool: [" 
+                                                       + thisArg + "]");
                                        logger.error(" Valid values are: -action -userId -vertexId -edgeId -overRideProtection -params4Collect -DISPLAY_ALL_VIDS");
                                        exit(0);
                                }
@@ -349,18 +368,19 @@ public class ForceDeleteTool {
                                System.out.println(infMsg);
                                exit(0);
                        }
-                       
-                       if( fd.getEdgeDelConfirmation(logger, userIdVal, thisEdge, overRideProtection) ){
-                               thisEdge.remove();
-                               graph.tx().commit();
-                               String infMsg = ">>>>>>>>>> Removed edge with edgeId = " + edgeIdStr;
-                               logger.debug( infMsg );
-                               System.out.println(infMsg);
-                       } 
-                       else {  
-                               String infMsg = " Delete Cancelled. ";
-                               System.out.println(infMsg);
-                               logger.debug( infMsg );
+                       else {
+                               if( fd.getEdgeDelConfirmation(logger, userIdVal, thisEdge, overRideProtection) ){
+                                       thisEdge.remove();
+                                       graph.tx().commit();
+                                       String infMsg = ">>>>>>>>>> Removed edge with edgeId = " + edgeIdStr;
+                                       logger.debug( infMsg );
+                                       System.out.println(infMsg);
+                               } 
+                               else {  
+                                       String infMsg = " Delete Cancelled. ";
+                                       System.out.println(infMsg);
+                                       logger.debug( infMsg );
+                               }
                        }
                        exit(0);
                }
diff --git a/src/main/java/org/onap/aai/migration/v12/MigrateModelVerDistriubutionStatusProperty.java b/src/main/java/org/onap/aai/migration/v12/MigrateModelVerDistriubutionStatusProperty.java
deleted file mode 100644 (file)
index c09643f..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.onap.aai.db.props.AAIProperties;
-import org.onap.aai.edges.EdgeIngestor;
-import org.onap.aai.introspection.LoaderFactory;
-import org.onap.aai.migration.*;
-import org.onap.aai.serialization.db.EdgeSerializer;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-import org.onap.aai.setup.SchemaVersions;
-
-import java.util.Optional;
-
-@MigrationPriority(20)
-@MigrationDangerRating(2)
-public class MigrateModelVerDistriubutionStatusProperty extends Migrator{
-
-    private final String PARENT_NODE_TYPE = "model-ver";
-    private boolean success = true;
-
-    public MigrateModelVerDistriubutionStatusProperty(TransactionalGraphEngine engine, LoaderFactory loaderFactory, EdgeIngestor edgeIngestor, EdgeSerializer edgeSerializer, SchemaVersions schemaVersions) {
-        super(engine, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-    }
-
-
-
-    @Override
-    public void run() {
-
-
-        GraphTraversal<Vertex, Vertex> f = this.engine.asAdmin().getTraversalSource().V().has(AAIProperties.NODE_TYPE,"model-ver");
-
-        while(f.hasNext()) {
-            Vertex v = f.next();
-            try {
-                    v.property("distribution-status", "DISTRIBUTION_COMPLETE_OK");
-                    logger.info("changed model-ver.distribution-status property value for model-version-id: " + v.property("model-version-id").value());
-
-            } catch (Exception e) {
-                e.printStackTrace();
-                success = false;
-                logger.error("encountered exception for model-version-id:" + v.property("model-version-id").value(), e);
-            }
-        }
-    }
-
-
-    @Override
-    public Status getStatus() {
-        if (success) {
-            return Status.SUCCESS;
-        } else {
-            return Status.FAILURE;
-        }
-    }
-    @Override
-    public Optional<String[]> getAffectedNodeTypes() {
-        return Optional.of(new String[]{PARENT_NODE_TYPE});
-    }
-
-    @Override
-    public String getMigrationName() {
-        return "MigrateModelVerDistriubutionStatusProperty";
-    }
-
-}
diff --git a/src/main/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventory.java b/src/main/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventory.java
deleted file mode 100644 (file)
index af3d90a..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-/*-
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright (C) 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=========================================================
- */
-
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.onap.aai.db.props.AAIProperties;
-import org.onap.aai.edges.EdgeIngestor;
-import org.onap.aai.introspection.Introspector;
-import org.onap.aai.introspection.LoaderFactory;
-import org.onap.aai.migration.MigrationDangerRating;
-import org.onap.aai.migration.MigrationPriority;
-import org.onap.aai.migration.Migrator;
-import org.onap.aai.migration.Status;
-import org.onap.aai.serialization.db.EdgeSerializer;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.util.AAIConfig;
-
-
-@MigrationPriority(26)
-@MigrationDangerRating(100)
-public class MigratePATHPhysicalInventory extends Migrator {
-
-       private static List<String> lagPortList = new ArrayList<String>();
-       private static Map<String, Vertex> pnfList = new HashMap<String, Vertex>();
-       private final String LAGINTERFACE_NODE_TYPE = "lag-interface";
-       private final String PNF_NODE_TYPE = "pnf";
-       private final String PROPERTY_PNF_NAME = "pnf-name";
-       private final String PROPERTY_INTERFACE_NAME = "interface-name";
-       private final String LAG_INTERFACE_NODE_TYPE = "lag-interface";
-       private static boolean success = true;
-    private static boolean checkLog = false;
-    private static GraphTraversalSource g = null;
-    private int headerLength;
-    
-    private static List<String> dmaapMsgList = new ArrayList<String>();
-    private static final String homeDir = System.getProperty("AJSC_HOME");
-    
-    //Create a map to store the evcs processed where lag-interfaces were found to track the sequence of ports
-    //key contains the evcName
-    //value is a map that contains the mapping for sequence of forwarders and corresponding portAids in the order they are found 
-    
-    private static Map<String, Map<Vertex, String>> pathFileMap = new HashMap<String, Map<Vertex, String>>();
-  
-    private static int processedLagInterfacesCount = 0;
-    private static int skippedRowCount = 0;
-    //Map with lineNumber and the reason for failure for each interface
-    private static Map<String, String> lagInterfacesNotProcessedMap = new HashMap<String, String>();
-    
-       
-    public MigratePATHPhysicalInventory(TransactionalGraphEngine engine, LoaderFactory loaderFactory, EdgeIngestor edgeIngestor, EdgeSerializer edgeSerializer, SchemaVersions schemaVersions) {
-        super(engine, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-        this.g = this.engine.asAdmin().getTraversalSource();
-    }
-
-    @Override
-    public void run() {
-        logger.info("---------- Start migration of PATH file Physical Inventory  ----------");
-        String configDir = System.getProperty("BUNDLECONFIG_DIR");
-        if (homeDir == null) {
-            logger.info("ERROR: Could not find sys prop AJSC_HOME");
-            success = false;
-            return;
-        }
-        if (configDir == null) {
-            success = false;
-            return;
-        }
-        
-        String feedDir = homeDir + "/" + configDir + "/" + "migration-input-files/sarea-inventory/";
-        int fileLineCounter = 0;
-        String fileName = feedDir+ "path.csv";
-        logger.info(fileName);
-        logger.info("---------- Processing PATH Entries from file  ----------");
-        try  {
-               List<String> lines = Files.readAllLines(Paths.get(fileName));
-            Iterator<String> lineItr = lines.iterator();
-            while (lineItr.hasNext()){
-                String line = lineItr.next().replace("\n", "").replace("\r", "");
-                logger.info("\n");
-                if (!line.isEmpty()) {
-                    if (fileLineCounter != 0) {
-                        String[] colList = line.split("\\s*,\\s*", -1);
-                        Map<String, String> pathColValues = new HashMap<String, String>();
-                        pathColValues.put("evcName", colList[1]);
-                        pathColValues.put("bearerFacingCircuit", colList[4]);
-                        pathColValues.put("bearerCvlan", colList[6]);
-                       pathColValues.put("bearerSvlan", colList[7]);
-                       pathColValues.put("bearerPtniiName", colList[8]);
-                       pathColValues.put("bearerPortAid", colList[12]);
-                       pathColValues.put("collectorFacingCircuit", colList[14]);
-                       pathColValues.put("collectorCvlan", colList[16]);
-                       pathColValues.put("collectorSvlan", colList[17]);
-                       pathColValues.put("collectorPtniiName", colList[18]);
-                       pathColValues.put("collectorPortAid", colList[22]);
-                       
-                       // For each row, check if the collector and bearerPnfs exist and create lag interfaces
-                       
-                       validateCollectorPnfAndCreateLagInterface(pathColValues, (fileLineCounter+1));
-                       validateBearerPnfAndCreateLagInterface(pathColValues, (fileLineCounter+1));
-                       
-                    } else {
-                        this.headerLength = line.split("\\s*,\\s*", -1).length;
-                        logger.info("headerLength: " + headerLength);
-                        if (this.headerLength < 21){
-                            logger.info("ERROR: Input file should have 21 columns");
-                            this.success = false;
-                            return;
-                        }
-                    }
-                }
-                fileLineCounter++;
-            }
-            logger.info ("\n \n ******* Final Summary for PATH FILE Physical Inventory Migration ********* \n");
-            logger.info("Lag Interfaces processed: "+processedLagInterfacesCount);
-            logger.info("Total Rows Count: "+(fileLineCounter + 1));
-            logger.info("Fallout Lag Interfaces Count : "+lagInterfacesNotProcessedMap.size() +"\n");
-            
-            if (!lagInterfacesNotProcessedMap.isEmpty()) {
-               logger.info("------ Fallout Details: ------");
-               lagInterfacesNotProcessedMap.forEach((lineEntry, errorMsg) -> {
-                       int lineNumberIndex = lineEntry.indexOf("-");
-                       String lineNumber = lineEntry.substring(0, lineNumberIndex);
-                       String portDetail = lineEntry.substring(lineNumberIndex+1);
-                       logger.info(errorMsg + ": on row "+ lineNumber +" for PortAid ["+ portDetail+"]");
-               });
-            }
-        } catch (FileNotFoundException e) {
-            logger.info("ERROR: Could not file file " + fileName, e.getMessage());
-            success = false;
-            checkLog = true;
-        } catch (IOException e) {
-            logger.info("ERROR: Issue reading file " + fileName, e);
-            success = false;
-        } catch (Exception e) {
-            logger.info("encountered exception", e);
-            e.printStackTrace();
-            success = false;
-        }
-    }
-    
-    
-       private void validateBearerPnfAndCreateLagInterface(Map<String, String> pathColValues, int lineNumber) {
-               String bearerPtniiName = pathColValues.get("bearerPtniiName");
-       String bearerPortAid = pathColValues.get("bearerPortAid");
-       Vertex pnfVtx = getPnf(bearerPtniiName);
-       if (pnfVtx != null){
-               //create lag-interface
-               createLagInterfaceObject(pnfVtx, bearerPortAid, lineNumber);
-       } else {
-               int lagIdentifierIndex = bearerPortAid.indexOf("_");
-               if (lagIdentifierIndex > 0) {
-                       lagInterfacesNotProcessedMap.put(""+ lineNumber+ "-"+bearerPtniiName+"-"+bearerPortAid+"", "Pnf ["+bearerPtniiName+"] not found" );
-               }
-       }
-               
-       }
-
-       private void validateCollectorPnfAndCreateLagInterface(Map<String, String> pathColValues, int lineNumber) {
-               String collectorPtniiName = pathColValues.get("collectorPtniiName");
-       String collectorPortAid = pathColValues.get("collectorPortAid");
-       Vertex pnfVtx = getPnf(collectorPtniiName);
-       if (pnfVtx != null){
-               //create lag-interface
-               createLagInterfaceObject(pnfVtx, collectorPortAid, lineNumber);
-       }else {
-               int lagIdentifierIndex = collectorPortAid.indexOf("_");
-               if (lagIdentifierIndex > 0) {
-                       lagInterfacesNotProcessedMap.put(""+ lineNumber+ "-"+collectorPtniiName+"-"+collectorPortAid+"", "Pnf ["+collectorPtniiName+"] not found" );
-               }
-       }
-       }
-       
-       private void createLagInterfaceObject(Vertex pnfVtx, String portAid, int lineNumber) {
-               String pnfName = pnfVtx.value(PROPERTY_PNF_NAME);
-               
-               if (pnfName != null && !pnfName.isEmpty()) {
-                       
-                       if(portAid == null ||  portAid.isEmpty()){
-                               logger.info("\t Invalid Port entry [" +portAid + "] - Invalid record - skipping..." );
-                       } else{
-                               if (!AAIConfig.isEmpty(portAid)) {
-                                       GraphTraversal<Vertex, Vertex> portList;
-                                       
-                                       boolean isPortAidALagIntf = false;
-                                       String interfaceName = null;
-                                       
-                                       int lagIdentifierIndex = portAid.indexOf("_");
-                                       
-                                       if (lagIdentifierIndex > 0) {
-                                               String[] subStringList = portAid.split("_");
-                                               interfaceName = subStringList[0];
-                                               isPortAidALagIntf = true;
-                                       }
-                                       
-                                       if (isPortAidALagIntf)
-                                       {
-                                               try {
-                                                       
-                                                       if (lagPortList != null && lagPortList.contains(pnfName+"_"+interfaceName)){
-                                                               logger.info("\t lag-interface [" + interfaceName        + "] already exists in AAI - skipping");
-                                                               return;
-                                                       }
-                                                               
-                                                               
-                                                       portList = g.V(pnfVtx).in("tosca.relationships.network.BindsTo").has("interface-name", interfaceName).has("aai-node-type", "lag-interface");
-                                               if (portList!= null && portList.hasNext()) {
-                                                       Vertex lagInterfaceVtx = portList.next();
-                                                   if (lagInterfaceVtx != null && lagInterfaceVtx.property("interface-name").isPresent()) {
-                                                                       logger.info("\t lag-interface [" + interfaceName        + "] already exists in AAI - skipping");
-//                                                                     lagInterfacesNotProcessedMap.put(""+lineNumber+"-"+pnfName+"-"+portAid+"", "lag-interface already exists for ["+interfaceName+"]" );
-                                                               }
-                                               }
-                                               else if (portList == null || !portList.hasNext()) {
-                                                       //Create lag-interface in pnf
-                                                               Introspector lagInterface = loader.introspectorFromName(LAG_INTERFACE_NODE_TYPE);
-                                                               
-                                                               Vertex lagIntVtx = serializer.createNewVertex(lagInterface);
-                                                               lagInterface.setValue("interface-name", interfaceName);
-                                                               this.createTreeEdge(pnfVtx, lagIntVtx);
-                                                               serializer.serializeSingleVertex(lagIntVtx, lagInterface, "migrations");
-                                                               
-                                                               logger.info("\t Created new lag-interface " + lagIntVtx + " with interface-name= " + lagIntVtx.value("interface-name"));
-                                                               
-                                                               processedLagInterfacesCount++;
-                                                               lagPortList.add(pnfName+"_"+interfaceName);
-                                                               
-                                                               String dmaapMsg = System.nanoTime() + "_" + lagIntVtx.id().toString() + "_"     + lagIntVtx.value("resource-version").toString();
-                                                               dmaapMsgList.add(dmaapMsg);
-//                                                             Introspector introspector = serializer.getLatestVersionView(lagIntVtx);
-//                                                             this.notificationHelper.addEvent(lagIntVtx, introspector, EventAction.CREATE, this.serializer.getURIForVertex(lagIntVtx, false));
-//                                                             logger.info("\t Dmaap event sent for " + lagIntVtx + " with interface-name= " + lagIntVtx.value("interface-name").toString() );
-                                               }
-                                               } catch (Exception e) {
-                                                       logger.info("\t ERROR: Failure to create lag-interface ["+ interfaceName + "]");
-                                                       lagInterfacesNotProcessedMap.put(""+lineNumber+"-"+pnfName+"-"+portAid+"", "Failed to create lag-interface ["+interfaceName+"]" );
-                                               }
-                                       } 
-                                       else 
-                                       {
-                                               logger.info("\t Port-Aid[" +portAid +"] on PNF["+pnfName+"] not a lag-interface, skipping....");
-                                       }
-                               }
-                               
-                       }
-               }
-       }
-
-       
-       private Vertex getPnf(String ptniiName) {
-               Vertex pnfVtx = null;
-               if (!AAIConfig.isEmpty(ptniiName)) {
-                       if (!pnfList.isEmpty() && pnfList.containsKey(ptniiName)){
-                               return pnfList.get(ptniiName);
-                       }
-                       List<Vertex> collectorPnfList = g.V().has(this.PROPERTY_PNF_NAME, ptniiName).has(AAIProperties.NODE_TYPE, PNF_NODE_TYPE).toList();
-                       if (collectorPnfList != null && collectorPnfList.size() == 1) {
-                               pnfVtx = collectorPnfList.get(0);
-                               pnfList.put(ptniiName, pnfVtx);
-                               logger.info("\t Pnf [" + ptniiName + "] found in AAI");
-                       } else if (collectorPnfList == null || collectorPnfList.size() == 0) {
-                               logger.info("\t ERROR: Failure to find Pnf [" + ptniiName       + "]" );
-                       }
-               } else {
-                       logger.info("\t ERROR: Failure to find Pnf [" + ptniiName       + "]" );
-               }
-               return pnfVtx;
-       }
-       
-    @Override
-    public Status getStatus() {
-        if (checkLog) {
-            return Status.CHECK_LOGS;
-        }
-        else if (success) {
-            return Status.SUCCESS;
-        }
-        else {
-            return Status.FAILURE;
-        }
-    }
-    
-    @Override
-       public void commit() {
-               engine.commit();
-               createDmaapFiles(dmaapMsgList);
-       }
-
-    @Override
-    public Optional<String[]> getAffectedNodeTypes() {
-        return Optional.of(new String[]{this.LAG_INTERFACE_NODE_TYPE});
-    }
-
-    @Override
-    public String getMigrationName() {
-        return "MigratePATHPhysicalInventory";
-    }
-}
diff --git a/src/main/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfiguration.java b/src/main/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfiguration.java
deleted file mode 100644 (file)
index b4208af..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Iterator;
-import java.util.Optional;
-import java.util.UUID;
-
-import org.apache.tinkerpop.gremlin.process.traversal.P;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
-import org.apache.tinkerpop.gremlin.structure.Direction;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.onap.aai.db.props.AAIProperties;
-import org.onap.aai.edges.EdgeIngestor;
-import org.onap.aai.exceptions.AAIException;
-import org.onap.aai.introspection.Introspector;
-import org.onap.aai.introspection.LoaderFactory;
-import org.onap.aai.introspection.exceptions.AAIUnknownObjectException;
-import org.onap.aai.migration.MigrationDangerRating;
-import org.onap.aai.migration.MigrationPriority;
-import org.onap.aai.migration.Migrator;
-import org.onap.aai.migration.Status;
-import org.onap.aai.edges.enums.EdgeType;
-import org.onap.aai.serialization.db.EdgeSerializer;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-import org.onap.aai.setup.SchemaVersions;
-
-//@Enabled
-@MigrationPriority(10)
-@MigrationDangerRating(10)
-public class MigrateServiceInstanceToConfiguration extends Migrator {
-
-       private boolean success = true;
-       private final String CONFIGURATION_NODE_TYPE = "configuration";
-       private final String SERVICE_INSTANCE_NODE_TYPE = "service-instance";
-       private Introspector configObj;
-
-       public MigrateServiceInstanceToConfiguration(TransactionalGraphEngine engine, LoaderFactory loaderFactory, EdgeIngestor edgeIngestor, EdgeSerializer edgeSerializer, SchemaVersions schemaVersions) {
-               super(engine, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-               try {
-                       this.configObj = this.loader.introspectorFromName(CONFIGURATION_NODE_TYPE);
-               } catch (AAIUnknownObjectException e) {
-                       this.configObj = null;
-               }
-       }
-
-       @Override
-       public void run() {             
-               Vertex serviceInstance = null;
-               Vertex configuration = null;
-               String serviceInstanceId = "", tunnelBandwidth = "";
-               String bandwidthTotal, configType, nodeType;
-               GraphTraversal<Vertex, Vertex> serviceInstanceItr;
-               Iterator<Vertex> configurationItr;
-
-               try {
-                       serviceInstanceItr = this.engine.asAdmin().getTraversalSource().V()
-                                       .has(AAIProperties.NODE_TYPE, P.within(getAffectedNodeTypes().get()))
-                                       .where(this.engine.getQueryBuilder()
-                                                       .createEdgeTraversal(EdgeType.TREE, "service-instance", "service-subscription")
-                                                       .getVerticesByProperty("service-type", "DHV")
-                                                       .<GraphTraversal<?, ?>>getQuery());
-
-                       if (serviceInstanceItr == null || !serviceInstanceItr.hasNext()) {
-                               logger.info("No servince-instance nodes found with service-type of DHV");
-                               return;
-                       }
-
-                       // iterate through all service instances of service-type DHV
-                       while (serviceInstanceItr.hasNext()) {
-                               serviceInstance = serviceInstanceItr.next();
-
-                               if (serviceInstance != null && serviceInstance.property("bandwidth-total").isPresent()) {
-                                       serviceInstanceId = serviceInstance.value("service-instance-id");
-                                       logger.info("Processing service instance with id=" + serviceInstanceId);
-                                       bandwidthTotal = serviceInstance.value("bandwidth-total");
-
-                                       if (bandwidthTotal != null && !bandwidthTotal.isEmpty()) {
-
-                                               // check for existing edges to configuration nodes 
-                                               configurationItr = serviceInstance.vertices(Direction.OUT, "has");
-
-                                               // create new configuration node if service-instance does not have existing ones
-                                               if (!configurationItr.hasNext()) {
-                                                       logger.info(serviceInstanceId + " has no existing configuration nodes, creating new node");
-                                                       createConfigurationNode(serviceInstance, bandwidthTotal);
-                                                       continue;
-                                               }
-
-                                               // in case if configuration nodes exist, but none are DHV
-                                               boolean hasDHVConfig = false;
-
-                                               // service-instance has existing configuration nodes
-                                               while (configurationItr.hasNext()) {
-                                                       configuration = configurationItr.next();
-                                                       nodeType = configuration.value("aai-node-type").toString();
-
-                                                       if (configuration != null && "configuration".equalsIgnoreCase(nodeType)) {
-                                                               logger.info("Processing configuration node with id=" + configuration.property("configuration-id").value());
-                                                               configType = configuration.value("configuration-type");
-                                                               logger.info("Configuration type: " + configType);
-
-                                                               // if configuration-type is DHV, update tunnel-bandwidth to bandwidth-total value
-                                                               if ("DHV".equalsIgnoreCase(configType)) {
-                                                                       if (configuration.property("tunnel-bandwidth").isPresent()) {
-                                                                               tunnelBandwidth = configuration.value("tunnel-bandwidth");
-                                                                       } else {
-                                                                               tunnelBandwidth = "";
-                                                                       }
-
-                                                                       logger.info("Existing tunnel-bandwidth: " + tunnelBandwidth);
-                                                                       configuration.property("tunnel-bandwidth", bandwidthTotal);
-                                                                       touchVertexProperties(configuration, false);
-                                                                       logger.info("Updated tunnel-bandwidth: " + configuration.value("tunnel-bandwidth"));
-                                                                       hasDHVConfig = true;
-                                                               }
-                                                       }
-                                               }
-
-                                               // create new configuration node if none of existing config nodes are of type DHV 
-                                               if (!hasDHVConfig) {
-                                                       logger.info(serviceInstanceId + " has existing configuration nodes, but none are DHV, create new node");
-                                                       createConfigurationNode(serviceInstance, bandwidthTotal);
-                                               }
-                                       }
-                               }
-                       }
-               } catch (AAIException | UnsupportedEncodingException e) {
-                       logger.error("Caught exception while processing service instance with id=" + serviceInstanceId + " | " + e.toString());
-                       success = false;
-               }
-       }
-
-       private void createConfigurationNode(Vertex serviceInstance, String bandwidthTotal) throws UnsupportedEncodingException, AAIException {
-               // create new vertex
-               Vertex configurationNode = serializer.createNewVertex(configObj);
-
-               // configuration-id: UUID format
-               String configurationUUID = UUID.randomUUID().toString();
-               configObj.setValue("configuration-id", configurationUUID);
-
-               // configuration-type: DHV
-               configObj.setValue("configuration-type", "DHV");
-
-               // migrate the bandwidth-total property from the service-instance to the 
-               // tunnel-bandwidth property of the related configuration object
-               configObj.setValue("tunnel-bandwidth", bandwidthTotal);
-
-               // create edge between service instance and configuration: cousinEdge(out, in)
-               createCousinEdge(serviceInstance, configurationNode);
-
-               // serialize edge & vertex, takes care of everything
-               serializer.serializeSingleVertex(configurationNode, configObj, "migrations");
-               logger.info("Created configuration node with uuid=" + configurationUUID + ", tunnel-bandwidth=" + bandwidthTotal);
-       }
-
-       @Override
-       public Status getStatus() {
-               if (success) {
-                       return Status.SUCCESS;
-               } else {
-                       return Status.FAILURE;
-               }
-       }
-
-       @Override
-       public Optional<String[]> getAffectedNodeTypes() {
-               return Optional.of(new String[] {SERVICE_INSTANCE_NODE_TYPE});
-       }
-
-       @Override
-       public String getMigrationName() {
-               return "service-instance-to-configuration";
-       }
-}
index 0ca8481..7dacfe6 100644 (file)
@@ -21,6 +21,7 @@ package org.onap.aai.dbgen;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.boot.test.rule.OutputCapture;
 import org.janusgraph.core.JanusGraphTransaction;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.structure.Edge;
@@ -28,6 +29,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.FixMethodOrder;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
 import org.onap.aai.AAISetup;
@@ -37,6 +39,8 @@ import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.util.List;
 
+import static org.hamcrest.Matchers.containsString;
+import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
 
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -47,6 +51,9 @@ public class ForceDeleteToolTest extends AAISetup {
     private ForceDeleteTool deleteTool;
 
     private Vertex cloudRegionVertex;
+    
+    @Rule
+    public OutputCapture outputCapture = new OutputCapture();
 
     @Before
     public void setup(){
@@ -117,10 +124,12 @@ public class ForceDeleteToolTest extends AAISetup {
     @Test
     public void testDeleteNode(){
 
+        InputStream systemInputStream = System.in;
+        ByteArrayInputStream in = new ByteArrayInputStream("y".getBytes());
+        System.setIn(in);
         String id = cloudRegionVertex.id().toString();
 
         String [] args = {
-
                 "-action",
                 "DELETE_NODE",
                 "-userId",
@@ -130,6 +139,7 @@ public class ForceDeleteToolTest extends AAISetup {
         };
 
         deleteTool.main(args);
+        System.setIn(systemInputStream);
     }
 
     @Test
@@ -141,7 +151,6 @@ public class ForceDeleteToolTest extends AAISetup {
         String cloudRegionToPserverId = edges.get(0).id().toString();
 
         String [] args = {
-
                 "-action",
                 "COLLECT_DATA",
                 "-userId",
@@ -151,6 +160,7 @@ public class ForceDeleteToolTest extends AAISetup {
         };
 
         deleteTool.main(args);
+        
     }
 
     @Test
@@ -165,7 +175,6 @@ public class ForceDeleteToolTest extends AAISetup {
         String cloudRegionToPserverId = edges.get(0).id().toString();
 
         String [] args = {
-
                 "-action",
                 "DELETE_EDGE",
                 "-userId",
@@ -177,6 +186,200 @@ public class ForceDeleteToolTest extends AAISetup {
         deleteTool.main(args);
         System.setIn(systemInputStream);
     }
+    
+ //------------------------------ Adding some new tests --------------
+
+    
+    @Test
+    public void testCollectDataForVertexId(){
+        String id = cloudRegionVertex.id().toString();
+        
+        String [] args = {
+                "-action",
+                "COLLECT_DATA",
+                "-userId",
+                "someuser",
+                "-vertexId",
+                id
+        };
+
+        deleteTool.main(args);
+    }
+       
+    
+    @Test
+    public void testInputParamsBadAction(){
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+        List<Edge> edges = g.E().toList();
+        String cloudRegionToPserverId = edges.get(0).id().toString();
+
+        String [] args = {
+                "-action",
+                "JUNK-ACTION",
+                "-userId",
+                "someuser",
+                "-edgeId",
+                cloudRegionToPserverId
+        };
+
+        deleteTool.main(args);
+       // Capture the standard output and see if the following text is there
+        assertThat(outputCapture.toString(), containsString("Bad action parameter"));
+       
+    }
+   
+    @Test
+    public void testMissingInputs(){
+
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+
+        String [] args = {
+                "-action"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("No value passed with"));
+        
+
+        args = new String []{
+                "-vertexId"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("No value passed with"));
+        
+        
+        args = new String []{
+                "-edgeId"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("No value passed with"));
+       
+        
+        args = new String []{
+                "-params4Collect"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("No value passed with"));
+       
+    }
+       
+        
+    
+    @Test
+    public void testInvalidUserIds(){
+
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+        List<Edge> edges = g.E().toList();
+        String cloudRegionToPserverId = edges.get(0).id().toString();
+
+        String [] args = {              
+                "-userId"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("No value passed with"));
+        
+        args = new String []{
+                "-userId",
+                "bad"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Bad userId parameter"));
+        
+        args = new String []{
+                "-userId",
+                "AAIADMIN"
+        };
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Bad userId parameter"));
+    }
+        
+        
+    @Test
+    public void testBadInputs2(){
+
+       // pass in a bad/unknown argument (-junkParam)
+        String [] args = {
+                "-junkParam",
+                "COLLECT_DATA",
+                "-userId",
+                "someuser",
+                "-edgeId",
+                "999"
+        };
+        
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Unrecognized argument"));           
+    }
+        
+    @Test
+    public void testBadInputs3(){
+
+       // pass in a nonExistant edgeId for DELETE EDGE
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+    
+        String [] args = {
+                "-action",
+                "DELETE_EDGE",
+                "-userId",
+                "someuser",
+                "-edgeId",
+                "NotRealId"
+        };
+        
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Edge with edgeId = NotRealId not found"));
+             
+    }
+    
+    @Test
+    public void testBadInputs4(){
+
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+        
+        // pass in a bad vertex Id when collecting data
+    
+        String [] args = {
+                       "-action",
+                "COLLECT_DATA",
+                "-userId",
+                "someuser",
+                "-vertexId",
+                "NotANumber"
+        };
+        
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Bad value passed"));
+             
+    }
+         
+    
+    @Test
+    public void testBadInputs5(){
+
+        JanusGraphTransaction transaction = AAIGraph.getInstance().getGraph().newTransaction();
+        GraphTraversalSource g = transaction.traversal();
+        
+        // pass in a bad vertex Id when collecting data
+    
+        String [] args = {
+                       "-action",
+                "DELETE_NODE",
+                "-userId",
+                "someuser",
+                "-vertexId",
+                "555"
+        };
+        
+        deleteTool.main(args);
+        assertThat(outputCapture.toString(), containsString("Vertex with vertexId = 555 not found"));
+             
+    }
+    
     @After
     public void tearDown(){
 
diff --git a/src/test/java/org/onap/aai/migration/v12/MigrateModelVerDistributionStatusPropertyTest.java b/src/test/java/org/onap/aai/migration/v12/MigrateModelVerDistributionStatusPropertyTest.java
deleted file mode 100644 (file)
index 3db75fc..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-
-import org.janusgraph.core.JanusGraphFactory;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphTransaction;
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.onap.aai.AAISetup;
-import org.onap.aai.dbmap.DBConnectionType;
-import org.onap.aai.introspection.Loader;
-import org.onap.aai.introspection.ModelType;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.JanusGraphDBEngine;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-@Ignore
-public class MigrateModelVerDistributionStatusPropertyTest extends AAISetup{
-
-    private final static ModelType introspectorFactoryType = ModelType.MOXY;
-    private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-    private Loader loader;
-    private TransactionalGraphEngine dbEngine;
-    private JanusGraph graph;
-    private MigrateModelVerDistriubutionStatusProperty migration;
-    private GraphTraversalSource g;
-    private JanusGraphTransaction tx;
-    Vertex modelVer1;
-    Vertex modelVer2;
-
-    @Before
-    public void setUp() throws Exception {
-        graph = JanusGraphFactory.build().set("storage.backend", "inmemory").open();
-        tx = graph.newTransaction();
-        g = tx.traversal();
-        loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-        dbEngine = new JanusGraphDBEngine(
-                queryStyle,
-                loader);
-         modelVer1 = g.addV().property("aai-node-type", "model-ver")
-                .property("model-version-id", "modelVer1")
-                .property("distribution-status", "test1")
-                .next();
-
-        modelVer2 = g.addV().property("aai-node-type", "model-ver")
-                .property("model-version-id", "modelVer1")
-                .next();
-
-        TransactionalGraphEngine spy = spy(dbEngine);
-        TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
-        GraphTraversalSource traversal = g;
-        when(spy.asAdmin()).thenReturn(adminSpy);
-        when(adminSpy.getTraversalSource()).thenReturn(traversal);
-        migration = new MigrateModelVerDistriubutionStatusProperty(spy, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-        migration.run();
-    }
-
-    @After
-    public void cleanUp() {
-        tx.rollback();
-        graph.close();
-    }
-
-
-    /***
-     * checks if the Distribution Status value was changed
-     */
-
-    @Test
-    public void confirmDistributionStatusChanged() {
-
-        assertEquals("DISTRIBUTION_COMPLETE_OK",modelVer1.property("distribution-status").value());
-        assertEquals("DISTRIBUTION_COMPLETE_OK",modelVer2.property("distribution-status").value());
-
-    }
-
-
-}
\ No newline at end of file
diff --git a/src/test/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventoryTest.java b/src/test/java/org/onap/aai/migration/v12/MigratePATHPhysicalInventoryTest.java
deleted file mode 100644 (file)
index 2030266..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.shortThat;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import java.util.Optional;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.*;
-import org.onap.aai.AAISetup;
-import org.onap.aai.dbmap.DBConnectionType;
-import org.onap.aai.introspection.Loader;
-import org.onap.aai.introspection.ModelType;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.JanusGraphDBEngine;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import org.janusgraph.core.JanusGraphFactory;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphTransaction;
-
-public class MigratePATHPhysicalInventoryTest extends AAISetup {
-
-       private final static ModelType introspectorFactoryType = ModelType.MOXY;
-       private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-
-       private Loader loader;
-       private TransactionalGraphEngine dbEngine;
-       private MigratePATHPhysicalInventory migration;
-       private GraphTraversalSource g;
-
-       @Before
-       public void setUp() throws Exception {
-               g = tx.traversal();
-               loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-               dbEngine = new JanusGraphDBEngine(
-                               queryStyle,
-                               loader);
-               
-               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources");
-
-               Vertex pnf2 = g.addV()
-                               .property("aai-node-type", "pnf")
-                               .property("pnf-name", "pnf-name-2")
-                               .next();
-               Vertex  port21 = g.addV()
-                               .property("aai-node-type", "lag-interface")
-                               .property("interface-name", "ae1")
-                               .next();
-               
-               Vertex pnf3 = g.addV()
-                               .property("aai-node-type", "pnf")
-                               .property("pnf-name", "pnf-name-3")
-                               .next();
-               Vertex pnf4 = g.addV()
-                               .property("aai-node-type", "pnf")
-                               .property("pnf-name", "pnf-name-4")
-                               .next();
-               Vertex pnf5 = g.addV()
-                               .property("aai-node-type", "pnf")
-                               .property("pnf-name", "pnf-name-5")
-                               .next();
-               // graph 1
-                               
-               edgeSerializer.addTreeEdge(g, pnf2, port21);
-
-
-               TransactionalGraphEngine spy = spy(dbEngine);
-               TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
-
-               GraphTraversalSource traversal = g;
-               GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
-               when (spy.tx()).thenReturn(tx);
-               when(spy.asAdmin()).thenReturn(adminSpy);
-               when(adminSpy.getTraversalSource()).thenReturn(traversal);
-               when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
-               
-               migration = new MigratePATHPhysicalInventory(spy, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-               migration.run();
-       }
-
-       @Ignore
-       @Test
-       public void testRun_checkPnfsAndPInterfacesExist() throws Exception {
-               // check if graph nodes exist
-
-               testGetMigrationName();
-               testGetAffectedNodeTypes();
-               
-               // check if pnf node gets created
-               assertEquals("4 PNFs exist", new Long(4L), 
-                               g.V().has("aai-node-type", "pnf")
-                               .count().next());
-               
-               assertEquals("5 lag-interfaces were created", new Long (5L), g.V().has("aai-node-type", "lag-interface")
-                               .out("tosca.relationships.network.BindsTo").count().next());
-                               
-               assertEquals("lag-interfaces created for pnfs", new Long(1L),
-                               g.V().has("aai-node-type", "pnf")
-                               .has("pnf-name", "pnf-name-3").count().next());
-               
-               assertEquals("lag-interface ae1 created for pnf-name-3", true,
-                               g.V().has("aai-node-type", "pnf")
-                               .has("pnf-name", "pnf-name-3")
-                               .in("tosca.relationships.network.BindsTo")
-                               .has("aai-node-type", "lag-interface")
-                               .has("interface-name","ae1")
-                               .hasNext());
-               
-               assertEquals("lag-interfaces created for pnfs", new Long(2L),
-                               g.V().has("aai-node-type", "pnf")
-                               .has("pnf-name", "pnf-name-5")
-                               .in("tosca.relationships.network.BindsTo")
-                               .has("aai-node-type", "lag-interface").count().next());
-       }
-       
-       public void testGetAffectedNodeTypes() {
-               Optional<String[]> types = migration.getAffectedNodeTypes();
-               Optional<String[]> expected = Optional.of(new String[]{"lag-interface"});
-               
-               assertNotNull(types);
-               assertArrayEquals(expected.get(), types.get());
-       }
-
-       public void testGetMigrationName() {
-               String migrationName = migration.getMigrationName();
-
-               assertNotNull(migrationName);
-               assertEquals("MigratePATHPhysicalInventory", migrationName);
-       }
-}
\ No newline at end of file
diff --git a/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java b/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTest.java
deleted file mode 100644 (file)
index 1904ae1..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import java.util.Optional;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.*;
-import org.onap.aai.AAISetup;
-import org.onap.aai.dbmap.DBConnectionType;
-import org.onap.aai.introspection.Loader;
-import org.onap.aai.introspection.ModelType;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.JanusGraphDBEngine;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import org.janusgraph.core.JanusGraphFactory;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphTransaction;
-@Ignore
-public class MigrateServiceInstanceToConfigurationTest extends AAISetup {
-
-       private final static ModelType introspectorFactoryType = ModelType.MOXY;
-       private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-
-       private Loader loader;
-       private TransactionalGraphEngine dbEngine;
-       private JanusGraph graph;
-       private MigrateServiceInstanceToConfiguration migration;
-       private JanusGraphTransaction tx;
-       private GraphTraversalSource g;
-
-       @Before
-       public void setUp() throws Exception {
-               graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
-               tx = graph.newTransaction();
-               g = tx.traversal();
-               loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-               dbEngine = new JanusGraphDBEngine(
-                               queryStyle,
-                               loader);
-
-               Vertex customer1 = g.addV()
-                               .property("aai-node-type", "customer")
-                               .property("global-customer-id", "customer-id-1")
-                               .property("subscriber-type", "CUST")
-                               .next();
-               
-               Vertex customer2 = g.addV()
-                               .property("aai-node-type", "customer")
-                               .property("global-customer-id", "customer-id-2")
-                               .property("subscriber-type", "CUST")
-                               .next();
-               
-               Vertex customer3 = g.addV()
-                               .property("aai-node-type", "customer")
-                               .property("global-customer-id", "customer-id-3")
-                               .property("subscriber-type", "CUST")
-                               .next();
-               
-               Vertex customer4 = g.addV()
-                               .property("aai-node-type", "customer")
-                               .property("global-customer-id", "customer-id-4")
-                               .property("subscriber-type", "CUST")
-                               .next();
-
-               Vertex servSub1 = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "DHV")
-                               .next();
-               
-               Vertex servSub2 = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "OTHER")
-                               .next();
-               
-               Vertex servSub3 = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "DHV")
-                               .next();
-               
-               Vertex servSub4 = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "DHV")
-                               .next();
-               
-               Vertex servSub5 = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "DHV")
-                               .next();
-               
-               Vertex servInstance1 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "service-inst-1")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "5")
-                               .next();
-               
-               Vertex servInstance2 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "service-inst-2")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "8")
-                               .next();
-               
-               Vertex servInstance3 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "service-inst-3")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "10")
-                               .next();
-               
-               Vertex servInstance4 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "service-inst-4")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "15")
-                               .next();
-               
-               Vertex config1 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "configuration-1")
-                               .property("configuration-type", "DHV")
-                               .property("tunnel-bandwidth", "7")
-                               .next();
-               
-               Vertex config2 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "configuration-2")
-                               .property("configuration-type", "OTHER")
-                               .property("tunnel-bandwidth", "3")
-                               .next();
-               
-               Vertex config3 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "configuration-3")
-                               .property("configuration-type", "OTHER")
-                               .property("tunnel-bandwidth", "2")
-                               .next();
-               
-               Vertex config4 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "configuration-4")
-                               .property("configuration-type", "OTHER")
-                               .property("tunnel-bandwidth", "4")
-                               .next();
-
-               // graph 1
-               edgeSerializer.addTreeEdge(g, customer1, servSub1);
-               edgeSerializer.addTreeEdge(g, customer1, servSub2);
-               edgeSerializer.addTreeEdge(g, servSub1, servInstance1);
-               edgeSerializer.addTreeEdge(g, servSub2, servInstance2);
-               
-               // graph 2
-               edgeSerializer.addTreeEdge(g, customer2, servSub3);
-               
-               // graph 3
-               edgeSerializer.addTreeEdge(g, customer3, servSub4);
-               edgeSerializer.addTreeEdge(g, servSub4, servInstance3);
-               edgeSerializer.addEdge(g, servInstance3, config1);
-               edgeSerializer.addEdge(g, servInstance3, config2);
-               
-               // graph 4
-               edgeSerializer.addTreeEdge(g, customer4, servSub5);
-               edgeSerializer.addTreeEdge(g, servSub5, servInstance4);
-               edgeSerializer.addEdge(g, servInstance4, config3);
-               edgeSerializer.addEdge(g, servInstance4, config4);
-
-               TransactionalGraphEngine spy = spy(dbEngine);
-               TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
-
-               GraphTraversalSource traversal = g;
-               GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
-               when (spy.tx()).thenReturn(tx);
-               when(spy.asAdmin()).thenReturn(adminSpy);
-               when(adminSpy.getTraversalSource()).thenReturn(traversal);
-               when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
-               
-               migration = new MigrateServiceInstanceToConfiguration(spy, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-               migration.run();
-       }
-       
-       @After
-       public void cleanUp() {
-               tx.tx().rollback();
-               graph.close();
-       }
-       
-       @Test
-       public void testRun_createConfigNode() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=5", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1").has("bandwidth-total", "5")
-                               .hasNext());
-               
-               // check if configuration node gets created
-               assertEquals("configuration node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .hasNext());
-               
-               // check configuration type
-               assertEquals("configuration node, configuration-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("configuration-type", "DHV")
-                               .hasNext());
-               
-               // check configuration tunnel-bandwidth
-               assertEquals("configuration node, tunnel-bandwidth=5", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-1")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "5")
-                               .hasNext());
-       }
-
-       @Test
-       public void testRun_configNodeNotCreated() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=OTHER", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=8", true, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2").has("bandwidth-total", "8")
-                               .hasNext());
-               
-               // configuration node should not be created
-               assertEquals("configuration node does not exist", false, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .hasNext());
-               
-               // edge between service instance and configuration should not be created
-               assertEquals("configuration node does not exist", false, 
-                               g.V().has("global-customer-id", "customer-id-1")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "OTHER")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-2")
-                               .out("org.onap.relationships.inventory.Uses").hasNext());
-       }
-       
-       @Test
-       public void testRun_noServiceInstance() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-2")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-id-2")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .hasNext());
-               
-               // no service instance nodes
-               assertEquals("no service instance nodes", false, 
-                               g.V().has("global-customer-id", "customer-id-2")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("aai-node-type", "service-instance")
-                               .hasNext());
-       }
-       
-       @Test
-       public void testRun_existingConfig() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-3")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-id-3")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=10", true, 
-                               g.V().has("global-customer-id", "customer-id-3")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3").has("bandwidth-total", "10")
-                               .hasNext());
-               
-               assertEquals("configuration node with type DHV, tunnel-bandwidth changed to 10", true, 
-                               g.V().has("global-customer-id", "customer-id-3")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "10")
-                               .hasNext());
-               
-               assertEquals("configuration node with type OTHER, tunnel-bandwidth remains same", true, 
-                               g.V().has("global-customer-id", "customer-id-3")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-3")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "3")
-                               .hasNext());
-       }
-       
-       @Test
-       public void testRun_existingConfigNotDHV() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=15", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4").has("bandwidth-total", "15")
-                               .hasNext());
-               
-               assertEquals("first configuration node with type OTHER, tunnel-bandwidth remains same", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "2")
-                               .hasNext());
-               
-               assertEquals("second configuration node with type OTHER, tunnel-bandwidth remains same", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "4")
-                               .hasNext());
-               
-               assertEquals("new configuration node created with type DHV, tunnel-bandwidth=15", true, 
-                               g.V().has("global-customer-id", "customer-id-4")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "service-inst-4")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration").has("tunnel-bandwidth", "15")
-                               .hasNext());
-       }
-       
-       @Test
-       public void testGetAffectedNodeTypes() {
-               Optional<String[]> types = migration.getAffectedNodeTypes();
-               Optional<String[]> expected = Optional.of(new String[]{"service-instance"});
-               
-               assertNotNull(types);
-               assertArrayEquals(expected.get(), types.get());
-       }
-
-       @Test
-       public void testGetMigrationName() {
-               String migrationName = migration.getMigrationName();
-
-               assertNotNull(migrationName);
-               assertEquals("service-instance-to-configuration", migrationName);
-       }
-}
diff --git a/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java b/src/test/java/org/onap/aai/migration/v12/MigrateServiceInstanceToConfigurationTestPreMigrationMock.java
deleted file mode 100644 (file)
index 6764667..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v12;
-
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import java.util.Optional;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.junit.*;
-import org.onap.aai.AAISetup;
-import org.onap.aai.dbmap.DBConnectionType;
-import org.onap.aai.introspection.Loader;
-import org.onap.aai.introspection.LoaderFactory;
-import org.onap.aai.introspection.ModelType;
-import org.onap.aai.setup.SchemaVersions;
-import org.onap.aai.setup.SchemaVersion;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.JanusGraphDBEngine;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-import org.janusgraph.core.JanusGraphFactory;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphTransaction;
-
-public class MigrateServiceInstanceToConfigurationTestPreMigrationMock extends AAISetup {
-
-       private final static ModelType introspectorFactoryType = ModelType.MOXY;
-       private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-
-       private Loader loader;
-       private TransactionalGraphEngine dbEngine;
-       private JanusGraph graph;
-       private MigrateServiceInstanceToConfiguration migration;
-       private JanusGraphTransaction tx;
-       private GraphTraversalSource g;
-
-       @Before
-       public void setUp() throws Exception {
-               graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
-               tx = graph.newTransaction();
-               g = tx.traversal();
-               loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-               dbEngine = new JanusGraphDBEngine(
-                               queryStyle,
-                               loader);
-
-               Vertex customer = g.addV()
-                               .property("aai-node-type", "customer")
-                               .property("global-customer-id", "customer-9972-BandwidthMigration")
-                               .property("subscriber-type", "CUST")
-                               .next();
-               
-               Vertex servSubSDNEI = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "SDN-ETHERNET-INTERNET")
-                               .next();
-               
-               Vertex servInstance22 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "servInstance-9972-22-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "bandwidth-total-22-BandwidthMigration")
-                               .next();
-               
-               Vertex servInstance11 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "servInstance-9972-11-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "bandwidth-total-11-BandwidthMigration")
-                               .next();
-               
-               Vertex servSubDHV = g.addV()
-                               .property("aai-node-type", "service-subscription")
-                               .property("service-type", "DHV")
-                               .next();
-               
-               Vertex servInstance4 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "servInstance-9972-4-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "bandwidth-total-4-BandwidthMigration")
-                               .next();
-               
-               Vertex servInstance1 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "2380")
-                               .next();
-               
-               Vertex servInstance3 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "servInstance-9972-3-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "bandwidth-total-3-BandwidthMigration")
-                               .next();
-
-               Vertex servInstance2 = g.addV()
-                               .property("aai-node-type", "service-instance")
-                               .property("service-instance-id", "servInstance-9972-2-BandwidthMigration")
-                               .property("operational-status", "activated")
-                               .property("bandwidth-total", "bandwidth-total-2-BandwidthMigration")
-                               .next();
-               
-               Vertex config1 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "9972-config-LB1113")
-                               .property("configuration-type", "DHV")
-                               .property("tunnel-bandwidth", "12")
-                               .next();
-               
-               Vertex config2 = g.addV()
-                               .property("aai-node-type", "configuration")
-                               .property("configuration-id", "9972-1config-LB1113")
-                               .property("configuration-type", "configuration-type1-9972")
-                               .next();
-               
-               Vertex allottedResource = g.addV()
-                               .property("aai-node-type", "allotted-resource")
-                               .property("id", "allResource-9972-BandwidthMigration")
-                               .next();
-
-               edgeSerializer.addTreeEdge(g, customer, servSubSDNEI);
-               edgeSerializer.addTreeEdge(g, customer, servSubDHV);
-               edgeSerializer.addTreeEdge(g, servSubSDNEI, servInstance22);
-               edgeSerializer.addTreeEdge(g, servSubSDNEI, servInstance11);
-               edgeSerializer.addTreeEdge(g, servSubDHV, servInstance4);
-               edgeSerializer.addTreeEdge(g, servSubDHV, servInstance1);
-               edgeSerializer.addTreeEdge(g, servSubDHV, servInstance3);
-               edgeSerializer.addTreeEdge(g, servSubDHV, servInstance2);
-               edgeSerializer.addEdge(g, servInstance1, allottedResource);
-               edgeSerializer.addEdge(g, servInstance1, config1);
-               edgeSerializer.addEdge(g, servInstance2, config2);
-
-               TransactionalGraphEngine spy = spy(dbEngine);
-               TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
-
-               GraphTraversalSource traversal = g;
-               GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
-               when (spy.tx()).thenReturn(tx);
-               when(spy.asAdmin()).thenReturn(adminSpy);
-               when(adminSpy.getTraversalSource()).thenReturn(traversal);
-               when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
-               
-               migration = new MigrateServiceInstanceToConfiguration(spy, loaderFactory, edgeIngestor, edgeSerializer, schemaVersions);
-               migration.run();
-       }
-       
-       @After
-       public void cleanUp() {
-               tx.tx().rollback();
-               graph.close();
-       }
-       
-       @Test
-       public void testRun() throws Exception {
-               // check if graph nodes exist
-               assertEquals("customer node exists", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .hasNext());
-
-               assertEquals("service subscription node, service-type=SDN-ETHERNET-INTERNET", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
-                               .hasNext());
-
-               assertEquals("service instance node, bandwidth-total=bandwidth-total-22-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-22-BandwidthMigration")
-                               .has("bandwidth-total", "bandwidth-total-22-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=bandwidth-total-11-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "SDN-ETHERNET-INTERNET")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-11-BandwidthMigration")
-                               .has("bandwidth-total", "bandwidth-total-11-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("service subscription node, service-type=DHV", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .hasNext());
-
-               assertEquals("service instance node, bandwidth-total=servInstance-9972-4-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-4-BandwidthMigration")
-                               .has("bandwidth-total", "bandwidth-total-4-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=ServInstance-9972-1-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
-                               .has("bandwidth-total", "2380")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=servInstance-9972-3-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-3-BandwidthMigration")
-                               .has("bandwidth-total", "bandwidth-total-3-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("service instance node, bandwidth-total=servInstance-9972-2-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
-                               .has("bandwidth-total", "bandwidth-total-2-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("configuration node with type=configuration-type1-9972, tunnel-bandwidth does not exist", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .has("configuration-type", "configuration-type1-9972")
-                               .hasNext());
-               
-               // check if configuration node gets created for 2, 3, 4
-               assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-4-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-4-BandwidthMigration")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-4-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-3-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-3-BandwidthMigration")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-3-BandwidthMigration")
-                               .hasNext());
-               
-               assertEquals("configuration node created with type=DHV, tunnel-bandwidth=servInstance-9972-2-BandwidthMigration", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "servInstance-9972-2-BandwidthMigration")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .has("configuration-type", "DHV").has("tunnel-bandwidth", "bandwidth-total-2-BandwidthMigration")
-                               .hasNext());
-               
-               // configuration modified for ServInstance-9972-1-BandwidthMigration
-               assertEquals("configuration node modified for ServInstance-9972-1-BandwidthMigration, tunnel-bandwidth=2380", true, 
-                               g.V().has("global-customer-id", "customer-9972-BandwidthMigration")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-type", "DHV")
-                               .in("org.onap.relationships.inventory.BelongsTo").has("service-instance-id", "ServInstance-9972-1-BandwidthMigration")
-                               .out("org.onap.relationships.inventory.Uses").has("aai-node-type", "configuration")
-                               .has("configuration-type", "DHV").has("tunnel-bandwidth", "2380")
-                               .hasNext());
-       }
-       
-       @Test
-       public void testGetAffectedNodeTypes() {
-               Optional<String[]> types = migration.getAffectedNodeTypes();
-               Optional<String[]> expected = Optional.of(new String[]{"service-instance"});
-               
-               assertNotNull(types);
-               assertArrayEquals(expected.get(), types.get());
-       }
-
-       @Test
-       public void testGetMigrationName() {
-               String migrationName = migration.getMigrationName();
-
-               assertNotNull(migrationName);
-               assertEquals("service-instance-to-configuration", migrationName);
-       }
-}
diff --git a/src/test/java/org/onap/aai/migration/v13/MigrateEdgesBetweenVnfcAndVfModuleTest.java b/src/test/java/org/onap/aai/migration/v13/MigrateEdgesBetweenVnfcAndVfModuleTest.java
deleted file mode 100644 (file)
index fc38979..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * ============LICENSE_START=======================================================
- * org.onap.aai
- * ================================================================================
- * Copyright © 2017-2018 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=========================================================
- */
-package org.onap.aai.migration.v13;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
-import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.janusgraph.core.JanusGraph;
-import org.janusgraph.core.JanusGraphFactory;
-import org.janusgraph.core.JanusGraphTransaction;
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.onap.aai.AAISetup;
-import org.onap.aai.dbmap.DBConnectionType;
-import org.onap.aai.edges.enums.EdgeProperty;
-import org.onap.aai.introspection.Loader;
-import org.onap.aai.introspection.ModelType;
-import org.onap.aai.serialization.engines.JanusGraphDBEngine;
-import org.onap.aai.serialization.engines.QueryStyle;
-import org.onap.aai.serialization.engines.TransactionalGraphEngine;
-
-public class MigrateEdgesBetweenVnfcAndVfModuleTest extends AAISetup{
-
-       private final static ModelType introspectorFactoryType = ModelType.MOXY;
-       private final static QueryStyle queryStyle = QueryStyle.TRAVERSAL;
-
-       private static Loader loader;
-       private static TransactionalGraphEngine dbEngine;
-       private static JanusGraph graph;
-       private static MigrateEdgesBetweenVnfcAndVfModule migration;
-       private static JanusGraphTransaction tx;
-       private static GraphTraversalSource g;
-
-       @Before
-       public void setUp() throws Exception {
-               graph = JanusGraphFactory.build().set("storage.backend","inmemory").open();
-               tx = graph.newTransaction();
-               g = tx.traversal();
-               loader = loaderFactory.createLoaderForVersion(introspectorFactoryType, schemaVersions.getDefaultVersion());
-               dbEngine = new JanusGraphDBEngine(
-                               queryStyle,
-                               loader);
-               
-               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources");
-
-               Vertex vnfc = g.addV().property("aai-node-type", "vnfc")
-                .property("vnfc-name", "vnfc-name-1").next();
-
-        Vertex vfmodule = g.addV().property("aai-node-type", "vf-module")
-                .property("vf-module-id", "vf-module-id-1").next();
-        
-        
-        //edgeSerializer.addEdge(g, vfmodule, vnfc,"org.onap.relationships.inventory.Uses");
-        
-        vfmodule.addEdge("org.onap.relationships.inventory.Uses", vnfc, EdgeProperty.CONTAINS.toString(), "NONE",
-                       EdgeProperty.DELETE_OTHER_V.toString(), "NONE", EdgeProperty.PREVENT_DELETE.toString(), "OUT");
-        
-        
-        TransactionalGraphEngine spy = spy(dbEngine);
-               TransactionalGraphEngine.Admin adminSpy = spy(dbEngine.asAdmin());
-
-               GraphTraversalSource traversal = g;
-               GraphTraversalSource readOnly = tx.traversal(GraphTraversalSource.build().with(ReadOnlyStrategy.instance()));
-               when (spy.tx()).thenReturn(tx);
-               when(spy.asAdmin()).thenReturn(adminSpy);
-               when(adminSpy.getTraversalSource()).thenReturn(traversal);
-               when(adminSpy.getReadOnlyTraversalSource()).thenReturn(readOnly);
-
-               migration = new MigrateEdgesBetweenVnfcAndVfModule(spy,loaderFactory,edgeIngestor,edgeSerializer,schemaVersions);
-               migration.run();
-       }
-
-       @After
-       public void cleanUp() {
-               tx.tx().rollback();
-               graph.close();
-       }
-
-       @Ignore
-       @Test
-    public void testIdsUpdated() throws Exception {
-               
-               //System.out.println("After Migration: " +migration.asString(g.V().has("aai-node-type","vnfc").inE().next()));
-               
-               assertEquals("vf-module to vnfc migration done", true,
-                               g.V().has("aai-node-type", "vf-module").outE().hasLabel("org.onap.relationships.inventory.Uses") 
-                                               .has(EdgeProperty.DELETE_OTHER_V.toString(), "OUT").hasNext());
-               
-               assertEquals("vf-module to vnfc migration done", true,
-                               g.V().has("aai-node-type", "vnfc").inE().hasLabel("org.onap.relationships.inventory.Uses") 
-                                               .has(EdgeProperty.PREVENT_DELETE.toString(), "NONE").hasNext());  
-    }   
-}