1 package org.openecomp.sdc.ci.tests.migration.v1707.postupgrade;
3 import com.thinkaurelius.titan.core.TitanVertex;
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;
11 import java.io.IOException;
12 import java.util.ArrayList;
13 import java.util.Collections;
14 import java.util.List;
16 import static org.testng.Assert.*;
18 public class AttKeyPropertiesRenameTest extends ComponentBaseTest {
21 public static TestName name = new TestName();
24 public AttKeyPropertiesRenameTest() {
25 super(name, AttKeyPropertiesRenameTest.class.getName());
29 public void verifyAttPropertyKeys() throws Exception {
31 CommonMigrationUtils.assertKeyNotExist(titanGraph, "attContact");
32 CommonMigrationUtils.assertKeyNotExist(titanGraph, "attCreator");
33 CommonMigrationUtils.assertKeyNotExist(titanGraph, "attuid");
34 CommonMigrationUtils.assertKeyNotExist(titanGraph, "pmatt");
36 CommonMigrationUtils.assertKeyExists(titanGraph, "userId");
37 CommonMigrationUtils.assertKeyExists(titanGraph, "projectCode");
38 CommonMigrationUtils.assertKeyExists(titanGraph, "contactId");
39 CommonMigrationUtils.assertKeyExists(titanGraph, "creatorId");
41 verifyPropertyKeysVerticesSameAsPreUpgrade("attuid", "userId");
42 verifyPropertyKeysVerticesSameAsPreUpgrade("pmatt", "projectCode");
43 verifyPropertyKeysVerticesSameAsPreUpgrade("attContact", "contactId");
44 verifyPropertyKeysVerticesSameAsPreUpgrade("attCreator", "creatorId");
48 private void assertKeyNotExist(String key) {
49 assertNotNull(titanGraph.getPropertyKey(key));
52 private void assertKeyExists(String key) {
53 assertNull(titanGraph.getPropertyKey(key));
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);
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;