re base code
[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.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;
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 TitanDao titanDao;
33     @Mock
34     private NodeTemplateOperation nodeTemplateOperation;
35
36     
37     @Test
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));
41         
42         MigrationResult migrate = instancesMigration.migrate();
43         MigrationStatus migrationStatus = migrate.getMigrationStatus();
44         assertEquals(MigrationStatus.FAILED, migrationStatus);
45     }
46     @Test
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);
60         list.add(vertexOrig);
61         
62         when(titanDao.getByCriteria(any(), any(), any(), any() )).thenReturn(Either.left(list));
63         when(nodeTemplateOperation.createInstanceEdge(vertexOrig, instance)).thenReturn(StorageOperationStatus.OK);
64         
65         MigrationResult migrate = instancesMigration.migrate();
66         MigrationStatus migrationStatus = migrate.getMigrationStatus();
67         assertEquals(MigrationStatus.COMPLETED, migrationStatus);
68     }
69 }