Upgrade SDC from Titan to Janus Graph
[sdc.git] / asdctool / src / test / java / org / openecomp / sdc / asdctool / migration / tasks / mig1806 / SDCInstancesMigrationTest.java
1 package org.openecomp.sdc.asdctool.migration.tasks.mig1806;
2
3 import fj.data.Either;
4 import org.junit.Test;
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.janusgraph.JanusGraphOperationStatus;
11 import org.openecomp.sdc.be.dao.jsongraph.GraphVertex;
12 import org.openecomp.sdc.be.dao.jsongraph.JanusGraphDao;
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.jsonjanusgraph.enums.JsonConstantKeysEnum;
17 import org.openecomp.sdc.be.model.jsonjanusgraph.operations.NodeTemplateOperation;
18 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
19
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24
25 import static org.junit.Assert.assertEquals;
26 import static org.mockito.ArgumentMatchers.any;
27 import static org.mockito.Mockito.when;
28
29 @RunWith(MockitoJUnitRunner.class)
30 public class SDCInstancesMigrationTest{
31     @Mock
32     private JanusGraphDao janusGraphDao;
33     @Mock
34     private NodeTemplateOperation nodeTemplateOperation;
35
36     
37     @Test
38     public void testFailedMigration(){
39         SDCInstancesMigration instancesMigration = new SDCInstancesMigration(janusGraphDao, nodeTemplateOperation);
40         when(janusGraphDao.getByCriteria(any(), any(), any(), any() )).thenReturn(Either.right(
41             JanusGraphOperationStatus.GENERAL_ERROR));
42         
43         MigrationResult migrate = instancesMigration.migrate();
44         MigrationStatus migrationStatus = migrate.getMigrationStatus();
45         assertEquals(MigrationStatus.FAILED, migrationStatus);
46     }
47     @Test
48     public void testSuccessMigration(){
49         SDCInstancesMigration instancesMigration = new SDCInstancesMigration(janusGraphDao, nodeTemplateOperation);
50         List<GraphVertex> list = new ArrayList<>();
51         GraphVertex vertexOrig = new GraphVertex();
52         Map<String, CompositionDataDefinition> jsonComposition = new HashMap<>();
53         CompositionDataDefinition composition = new CompositionDataDefinition();
54         Map<String, ComponentInstanceDataDefinition> componentInstances = new HashMap<>();
55         ComponentInstanceDataDefinition instance = new ComponentInstanceDataDefinition();
56         componentInstances.put("instanceId", instance);
57         composition.setComponentInstances(componentInstances);
58         jsonComposition.put(JsonConstantKeysEnum.COMPOSITION.getValue(), composition);
59         vertexOrig.setJson(jsonComposition);
60         vertexOrig.setType(ComponentTypeEnum.SERVICE);
61         list.add(vertexOrig);
62         
63         when(janusGraphDao.getByCriteria(any(), any(), any(), any() )).thenReturn(Either.left(list));
64         when(nodeTemplateOperation.createInstanceEdge(vertexOrig, instance)).thenReturn(StorageOperationStatus.OK);
65         
66         MigrationResult migrate = instancesMigration.migrate();
67         MigrationStatus migrationStatus = migrate.getMigrationStatus();
68         assertEquals(MigrationStatus.COMPLETED, migrationStatus);
69     }
70 }