95fc068dd3da3dbd8c54d53f1b6e75e0d3e71dc8
[sdc.git] /
1 package org.openecomp.sdc.ci.tests.migration.v1707.postupgrade;
2
3 import com.thinkaurelius.titan.core.TitanVertex;
4 import org.junit.Rule;
5 import org.junit.rules.TestName;
6 import org.openecomp.sdc.ci.tests.api.ComponentBaseTest;
7 import org.openecomp.sdc.ci.tests.migration.v1707.CommonMigrationUtils;
8 import org.openecomp.sdc.ci.tests.utils.graph.GraphFileUtils;
9 import org.testng.annotations.Test;
10
11 import java.io.IOException;
12 import java.util.ArrayList;
13 import java.util.Collections;
14 import java.util.List;
15
16 import static org.testng.Assert.*;
17
18 public class AttKeyPropertiesRenameTest extends ComponentBaseTest {
19
20     @Rule
21     public static TestName name = new TestName();
22
23
24     public AttKeyPropertiesRenameTest() {
25         super(name, AttKeyPropertiesRenameTest.class.getName());
26     }
27
28     @Test
29     public void verifyAttPropertyKeys() throws Exception {
30         initGraph();
31         CommonMigrationUtils.assertKeyNotExist(titanGraph, "attContact");
32         CommonMigrationUtils.assertKeyNotExist(titanGraph, "attCreator");
33         CommonMigrationUtils.assertKeyNotExist(titanGraph, "attuid");
34         CommonMigrationUtils.assertKeyNotExist(titanGraph, "pmatt");
35
36         CommonMigrationUtils.assertKeyExists(titanGraph, "userId");
37         CommonMigrationUtils.assertKeyExists(titanGraph, "projectCode");
38         CommonMigrationUtils.assertKeyExists(titanGraph, "contactId");
39         CommonMigrationUtils.assertKeyExists(titanGraph, "creatorId");
40
41         verifyPropertyKeysVerticesSameAsPreUpgrade("attuid", "userId");
42         verifyPropertyKeysVerticesSameAsPreUpgrade("pmatt", "projectCode");
43         verifyPropertyKeysVerticesSameAsPreUpgrade("attContact", "contactId");
44         verifyPropertyKeysVerticesSameAsPreUpgrade("attCreator", "creatorId");
45
46     }
47
48     private void assertKeyNotExist(String key) {
49         assertNotNull(titanGraph.getPropertyKey(key));
50     }
51
52     private void assertKeyExists(String key) {
53         assertNull(titanGraph.getPropertyKey(key));
54     }
55
56     private void verifyPropertyKeysVerticesSameAsPreUpgrade(String oldPropertyKEyName, String newPropertyKeyName) throws IOException {
57         List<String> verticesIdsFromGraph = getVerticesIdsFromGRaph(newPropertyKeyName);
58         List<String> verticesIdsFromFile = GraphFileUtils.getVerticesIdsFromFile(oldPropertyKEyName);
59         Collections.sort(verticesIdsFromFile);
60         Collections.sort(verticesIdsFromGraph);
61         assertEquals(verticesIdsFromFile, verticesIdsFromGraph);
62     }
63
64     private List<String> getVerticesIdsFromGRaph(String newPropertyKeyName) {
65         Iterable<TitanVertex> vertices = titanGraph.query().has(newPropertyKeyName).vertices();
66         assertTrue(vertices.iterator().hasNext());
67         List<String> verticesIdsFromGraph = new ArrayList<>();
68         vertices.forEach(vertex -> verticesIdsFromGraph.add(vertex.id().toString()));
69         return verticesIdsFromGraph;
70     }
71 }