1 package org.openecomp.sdc.asdctool.migration.tasks.mig1806;
5 import org.junit.runner.RunWith;
6 import org.mockito.Mock;
7 import org.mockito.junit.MockitoJUnitRunner;
8 import org.openecomp.sdc.asdctool.migration.core.task.MigrationResult;
9 import org.openecomp.sdc.asdctool.migration.core.task.MigrationResult.MigrationStatus;
10 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
11 import org.openecomp.sdc.be.dao.jsongraph.TitanDao;
12 import org.openecomp.sdc.be.dao.titan.TitanOperationStatus;
13 import org.openecomp.sdc.be.datatypes.elements.ComponentInstanceDataDefinition;
14 import org.openecomp.sdc.be.datatypes.elements.CompositionDataDefinition;
15 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
16 import org.openecomp.sdc.be.model.jsontitan.enums.JsonConstantKeysEnum;
17 import org.openecomp.sdc.be.model.jsontitan.operations.NodeTemplateOperation;
18 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
25 import static org.junit.Assert.assertEquals;
26 import static org.mockito.ArgumentMatchers.any;
27 import static org.mockito.Mockito.when;
29 @RunWith(MockitoJUnitRunner.class)
30 public class SDCInstancesMigrationTest{
32 private TitanDao titanDao;
34 private NodeTemplateOperation nodeTemplateOperation;
38 public void testFailedMigration(){
39 SDCInstancesMigration instancesMigration = new SDCInstancesMigration(titanDao, nodeTemplateOperation);
40 when(titanDao.getByCriteria(any(), any(), any(), any() )).thenReturn(Either.right(TitanOperationStatus.GENERAL_ERROR));
42 MigrationResult migrate = instancesMigration.migrate();
43 MigrationStatus migrationStatus = migrate.getMigrationStatus();
44 assertEquals(MigrationStatus.FAILED, migrationStatus);
47 public void testSuccessMigration(){
48 SDCInstancesMigration instancesMigration = new SDCInstancesMigration(titanDao, nodeTemplateOperation);
49 List<GraphVertex> list = new ArrayList<>();
50 GraphVertex vertexOrig = new GraphVertex();
51 Map<String, CompositionDataDefinition> jsonComposition = new HashMap<>();
52 CompositionDataDefinition composition = new CompositionDataDefinition();
53 Map<String, ComponentInstanceDataDefinition> componentInstances = new HashMap<>();
54 ComponentInstanceDataDefinition instance = new ComponentInstanceDataDefinition();
55 componentInstances.put("instanceId", instance);
56 composition.setComponentInstances(componentInstances);
57 jsonComposition.put(JsonConstantKeysEnum.COMPOSITION.getValue(), composition);
58 vertexOrig.setJson(jsonComposition);
59 vertexOrig.setType(ComponentTypeEnum.SERVICE);
62 when(titanDao.getByCriteria(any(), any(), any(), any() )).thenReturn(Either.left(list));
63 when(nodeTemplateOperation.createInstanceEdge(vertexOrig, instance)).thenReturn(StorageOperationStatus.OK);
65 MigrationResult migrate = instancesMigration.migrate();
66 MigrationStatus migrationStatus = migrate.getMigrationStatus();
67 assertEquals(MigrationStatus.COMPLETED, migrationStatus);