1 package org.openecomp.sdc.be.dao.cassandra;
3 import com.datastax.driver.core.Cluster;
4 import com.datastax.driver.core.Cluster.Builder;
5 import com.datastax.driver.core.Session;
6 import com.datastax.driver.mapping.MappingManager;
8 import mockit.Deencapsulation;
9 import org.apache.commons.lang3.tuple.ImmutablePair;
10 import org.apache.tinkerpop.gremlin.structure.T;
11 import org.junit.Test;
12 import org.mockito.Mockito;
13 import org.openecomp.sdc.be.config.ConfigurationManager;
14 import org.openecomp.sdc.be.utils.DAOConfDependentTest;
16 public class CassandraClientTest extends DAOConfDependentTest {
18 private CassandraClient createTestSubject() {
19 return new CassandraClient();
23 public void testSetLocalDc() throws Exception {
24 CassandraClient testSubject;
25 Cluster.Builder clusterBuilder = null;
27 Builder mock = Mockito.mock(Cluster.Builder.class);
28 Mockito.when(mock.withLoadBalancingPolicy(Mockito.any())).thenReturn(new Builder());
30 testSubject = createTestSubject();
31 Deencapsulation.invoke(testSubject, "setLocalDc", new Object[] { Cluster.Builder.class });
33 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig()
34 .setLocalDataCenter("mock");
36 testSubject = createTestSubject();
37 Deencapsulation.invoke(testSubject, "setLocalDc", mock);
41 public void testEnableSsl() throws Exception {
42 CassandraClient testSubject;
43 Cluster.Builder clusterBuilder = null;
45 Builder mock = Mockito.mock(Cluster.Builder.class);
46 Mockito.when(mock.withSSL()).thenReturn(new Builder());
48 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setSsl(false);
50 testSubject = createTestSubject();
51 Deencapsulation.invoke(testSubject, "enableSsl", mock);
53 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setSsl(true);
55 testSubject = createTestSubject();
56 Deencapsulation.invoke(testSubject, "enableSsl", mock);
57 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setTruststorePath(null);
58 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig()
59 .setTruststorePassword(null);
60 Deencapsulation.invoke(testSubject, "enableSsl", mock);
64 public void testEnableAuthentication() throws Exception {
65 CassandraClient testSubject;
66 Builder mock = Mockito.mock(Cluster.Builder.class);
67 Mockito.when(mock.withCredentials(Mockito.any(), Mockito.any())).thenReturn(new Builder());
70 testSubject = createTestSubject();
71 Deencapsulation.invoke(testSubject, "enableAuthentication", Cluster.Builder.class);
73 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setAuthenticate(true);
74 Deencapsulation.invoke(testSubject, "enableAuthentication", mock);
75 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setUsername(null);
76 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setPassword(null);
77 Deencapsulation.invoke(testSubject, "enableAuthentication", mock);
81 public void testConnect() throws Exception {
82 CassandraClient testSubject;
84 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> result;
87 testSubject = createTestSubject();
88 result = testSubject.connect(keyspace);
92 public void testSave() throws Exception {
93 CassandraClient testSubject;
95 Class<T> clazz = null;
96 MappingManager manager = null;
97 CassandraOperationStatus result;
100 testSubject = createTestSubject();
101 result = testSubject.save(entity, clazz, manager);
105 public void testGetById() throws Exception {
106 CassandraClient testSubject;
108 Class<T> clazz = null;
109 MappingManager manager = null;
110 Either<T, CassandraOperationStatus> result;
113 testSubject = createTestSubject();
114 result = testSubject.getById(id, clazz, manager);
118 public void testDelete() throws Exception {
119 CassandraClient testSubject;
121 Class<T> clazz = null;
122 MappingManager manager = null;
123 CassandraOperationStatus result;
126 testSubject = createTestSubject();
127 result = testSubject.delete(id, clazz, manager);
131 public void testIsConnected() throws Exception {
132 CassandraClient testSubject;
136 testSubject = createTestSubject();
137 result = testSubject.isConnected();
141 public void testCloseClient() throws Exception {
142 CassandraClient testSubject;
145 testSubject = createTestSubject();
146 testSubject.closeClient();