1 package org.openecomp.sdc.be.dao.cassandra.schema;
3 import com.datastax.driver.core.Session;
4 import mockit.Deencapsulation;
6 import org.mockito.Mockito;
7 import org.openecomp.sdc.be.config.Configuration.CassandrConfig.KeyspaceConfig;
8 import org.openecomp.sdc.be.dao.cassandra.schema.SdcSchemaBuilder.ReplicationStrategy;
9 import org.openecomp.sdc.be.utils.DAOConfDependentTest;
11 import java.util.HashMap;
12 import java.util.LinkedList;
13 import java.util.List;
16 public class SdcSchemaBuilderTest extends DAOConfDependentTest{
18 private SdcSchemaBuilder createTestSubject() {
19 return new SdcSchemaBuilder();
23 public void testHandle1707OSMigration() throws Exception {
24 Map<String, Map<String, List<String>>> cassndraMetadata = new HashMap<>();
25 Map<String, List<ITableDescription>> schemeData = new HashMap<>();
28 Deencapsulation.invoke(SdcSchemaBuilder.class, "handle1707OSMigration", cassndraMetadata, schemeData);
32 public void testCreateSchema() throws Exception {
36 result = SdcSchemaBuilder.createSchema();
40 public void testDeleteSchema() throws Exception {
44 result = SdcSchemaBuilder.deleteSchema();
48 public void testParseKeyspaceMetadata() throws Exception {
49 List<KeyspaceMetadata> keyspacesMetadata = new LinkedList<>();
50 Map<String, Map<String, List<String>>> result;
53 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "parseKeyspaceMetadata", keyspacesMetadata);
57 public void testGetMetadataTablesStructure() throws Exception {
58 List<KeyspaceMetadata> keyspacesMetadata = new LinkedList<>();
59 Map<String, Map<String, List<String>>> result;
62 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "getMetadataTablesStructure", keyspacesMetadata);
66 public void testCreateIndexName() throws Exception {
72 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createIndexName", table, column);
76 public void testAlterTable() throws Exception {
77 Session session = null;
78 Map<String, List<String>> existingTablesMetadata = null;
79 ITableDescription tableDescription = null;
80 String tableName = "";
81 Map<String, ImmutablePair<DataType, Boolean>> columnDescription = null;
84 Deencapsulation.invoke(SdcSchemaBuilder.class, "alterTable",
85 new Object[] { Session.class, Map.class, ITableDescription.class, tableName, Map.class });
89 public void testCreateKeyspace() throws Exception {
90 String keyspace = "mock";
91 Map<String, Map<String, List<String>>> cassndraMetadata = new HashMap<>();
92 Session session = Mockito.mock(Session.class);
96 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspace",
97 keyspace, cassndraMetadata, session);
99 cassndraMetadata.put(keyspace, new HashMap<>());
100 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspace",
101 keyspace, cassndraMetadata, session);
105 public void testGetSchemeData() throws Exception {
106 Map<String, List<ITableDescription>> result;
109 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "getSchemeData");
113 public void testCreateKeyspaceQuereyString() throws Exception {
114 String keyspace = "mock";
115 KeyspaceConfig keyspaceInfo = new KeyspaceConfig();
119 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspaceQuereyString", keyspace, keyspaceInfo);
121 keyspaceInfo.setReplicationStrategy(ReplicationStrategy.NETWORK_TOPOLOGY_STRATEGY.getName());
122 LinkedList<String> replicationInfo = new LinkedList<>();
123 keyspaceInfo.setReplicationInfo(replicationInfo);
125 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspaceQuereyString", keyspace, keyspaceInfo);
126 replicationInfo.add("mock1");
127 replicationInfo.add("mock2");
129 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspaceQuereyString", keyspace, keyspaceInfo);
132 keyspaceInfo.setReplicationStrategy(ReplicationStrategy.SIMPLE_STRATEGY.getName());
133 result = Deencapsulation.invoke(SdcSchemaBuilder.class, "createKeyspaceQuereyString", keyspace, keyspaceInfo);