2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.dao.cassandra;
23 import com.datastax.driver.core.Cluster;
24 import com.datastax.driver.core.Cluster.Builder;
25 import com.datastax.driver.core.Session;
26 import com.datastax.driver.mapping.MappingManager;
27 import fj.data.Either;
28 import mockit.Deencapsulation;
29 import org.apache.commons.lang3.tuple.ImmutablePair;
30 import org.apache.tinkerpop.gremlin.structure.T;
31 import org.junit.Test;
32 import org.mockito.Mockito;
33 import org.openecomp.sdc.be.config.ConfigurationManager;
34 import org.openecomp.sdc.be.utils.DAOConfDependentTest;
36 public class CassandraClientTest extends DAOConfDependentTest {
38 private CassandraClient createTestSubject() {
39 return new CassandraClient();
43 public void testSetLocalDc() throws Exception {
44 CassandraClient testSubject;
45 Cluster.Builder clusterBuilder = null;
47 Builder mock = Mockito.mock(Cluster.Builder.class);
48 Mockito.when(mock.withLoadBalancingPolicy(Mockito.any())).thenReturn(new Builder());
50 testSubject = createTestSubject();
51 Deencapsulation.invoke(testSubject, "setLocalDc", new Object[] { Cluster.Builder.class });
53 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig()
54 .setLocalDataCenter("mock");
56 testSubject = createTestSubject();
57 Deencapsulation.invoke(testSubject, "setLocalDc", mock);
61 public void testEnableSsl() throws Exception {
62 CassandraClient testSubject;
63 Cluster.Builder clusterBuilder = null;
65 Builder mock = Mockito.mock(Cluster.Builder.class);
66 Mockito.when(mock.withSSL()).thenReturn(new Builder());
68 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setSsl(false);
70 testSubject = createTestSubject();
71 Deencapsulation.invoke(testSubject, "enableSsl", mock);
73 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setSsl(true);
75 testSubject = createTestSubject();
76 Deencapsulation.invoke(testSubject, "enableSsl", mock);
77 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setTruststorePath(null);
78 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig()
79 .setTruststorePassword(null);
80 Deencapsulation.invoke(testSubject, "enableSsl", mock);
84 public void testEnableAuthentication() throws Exception {
85 CassandraClient testSubject;
86 Builder mock = Mockito.mock(Cluster.Builder.class);
87 Mockito.when(mock.withCredentials(Mockito.any(), Mockito.any())).thenReturn(new Builder());
90 testSubject = createTestSubject();
91 Deencapsulation.invoke(testSubject, "enableAuthentication", Cluster.Builder.class);
93 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setAuthenticate(true);
94 Deencapsulation.invoke(testSubject, "enableAuthentication", mock);
95 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setUsername(null);
96 ConfigurationManager.getConfigurationManager().getConfiguration().getCassandraConfig().setPassword(null);
97 Deencapsulation.invoke(testSubject, "enableAuthentication", mock);
101 public void testConnect() throws Exception {
102 CassandraClient testSubject;
103 String keyspace = "";
104 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> result;
107 testSubject = createTestSubject();
108 result = testSubject.connect(keyspace);
112 public void testSave() throws Exception {
113 CassandraClient testSubject;
115 Class<T> clazz = null;
116 MappingManager manager = null;
117 CassandraOperationStatus result;
120 testSubject = createTestSubject();
121 result = testSubject.save(entity, clazz, manager);
125 public void testGetById() throws Exception {
126 CassandraClient testSubject;
128 Class<T> clazz = null;
129 MappingManager manager = null;
130 Either<T, CassandraOperationStatus> result;
133 testSubject = createTestSubject();
134 result = testSubject.getById(id, clazz, manager);
138 public void testDelete() throws Exception {
139 CassandraClient testSubject;
141 Class<T> clazz = null;
142 MappingManager manager = null;
143 CassandraOperationStatus result;
146 testSubject = createTestSubject();
147 result = testSubject.delete(id, clazz, manager);
151 public void testIsConnected() throws Exception {
152 CassandraClient testSubject;
156 testSubject = createTestSubject();
157 result = testSubject.isConnected();
161 public void testCloseClient() throws Exception {
162 CassandraClient testSubject;
165 testSubject = createTestSubject();
166 testSubject.closeClient();