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.Session;
24 import com.datastax.driver.mapping.MappingManager;
25 import com.datastax.driver.mapping.Result;
26 import fj.data.Either;
27 import org.apache.commons.lang3.tuple.ImmutablePair;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.mockito.InjectMocks;
31 import org.mockito.Mock;
32 import org.mockito.Mockito;
33 import org.mockito.MockitoAnnotations;
34 import org.openecomp.sdc.be.datatypes.enums.EnvironmentStatusEnum;
35 import org.openecomp.sdc.be.resources.data.OperationalEnvironmentEntry;
37 import java.util.List;
39 import static org.junit.Assert.assertTrue;
41 public class OperationalEnvironmentDaoTest {
44 OperationalEnvironmentDao testSubject;
47 CassandraClient clientMock;
50 public void setUp() throws Exception {
51 MockitoAnnotations.initMocks(this);
55 public void testInit() throws Exception {
60 Mockito.when(clientMock.isConnected()).thenReturn(true);
61 Session sessMock = Mockito.mock(Session.class);
62 MappingManager mappMock = Mockito.mock(MappingManager.class);
63 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
64 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
65 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
70 public void testInitException() throws Exception {
75 Mockito.when(clientMock.isConnected()).thenReturn(true);
76 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either
77 .right(CassandraOperationStatus.CLUSTER_NOT_CONNECTED);
78 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
81 } catch (Exception e) {
82 assertTrue(e.getClass() == RuntimeException.class);
87 public void testSave() throws Exception {
88 OperationalEnvironmentEntry operationalEnvironmentEntry = null;
89 CassandraOperationStatus result;
92 result = testSubject.save(operationalEnvironmentEntry);
96 public void testGet() throws Exception {
98 Either<OperationalEnvironmentEntry, CassandraOperationStatus> result;
101 result = testSubject.get(envId);
105 public void testDelete() throws Exception {
107 CassandraOperationStatus result;
110 result = testSubject.delete(envId);
114 public void testDeleteAll() throws Exception {
115 CassandraOperationStatus result;
118 result = testSubject.deleteAll();
120 Mockito.when(clientMock.isConnected()).thenReturn(true);
121 Session sessMock = Mockito.mock(Session.class);
122 MappingManager mappMock = Mockito.mock(MappingManager.class);
123 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
124 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
125 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
128 result = testSubject.deleteAll();
132 public void testIsTableEmpty() throws Exception {
133 String tableName = "";
134 Either<Boolean, CassandraOperationStatus> result;
137 result = testSubject.isTableEmpty(tableName);
141 public void testGetByEnvironmentsStatus() throws Exception {
142 Either<List<OperationalEnvironmentEntry>, CassandraOperationStatus> result;
144 Mockito.when(clientMock.isConnected()).thenReturn(true);
145 Session sessMock = Mockito.mock(Session.class);
146 MappingManager mappMock = Mockito.mock(MappingManager.class);
147 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
148 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
149 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
150 OperationalEnvironmentsAccessor value2 = Mockito.mock(OperationalEnvironmentsAccessor.class);
151 Mockito.when(mappMock.createAccessor(OperationalEnvironmentsAccessor.class)).thenReturn(value2);
152 Result<OperationalEnvironmentEntry> value3 = Mockito.mock(Result.class);
153 Mockito.when(value2.getByEnvironmentsStatus(Mockito.any(String.class))).thenReturn(value3);
157 result = testSubject.getByEnvironmentsStatus(EnvironmentStatusEnum.COMPLETED);
161 public void testGetByEnvironmentsStatusNull() throws Exception {
162 Either<List<OperationalEnvironmentEntry>, CassandraOperationStatus> result;
164 Mockito.when(clientMock.isConnected()).thenReturn(true);
165 Session sessMock = Mockito.mock(Session.class);
166 MappingManager mappMock = Mockito.mock(MappingManager.class);
167 ImmutablePair<Session, MappingManager> ipMock = ImmutablePair.of(sessMock, mappMock);
168 Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> value = Either.left(ipMock);
169 Mockito.when(clientMock.connect(Mockito.any())).thenReturn(value);
170 OperationalEnvironmentsAccessor value2 = Mockito.mock(OperationalEnvironmentsAccessor.class);
171 Mockito.when(mappMock.createAccessor(OperationalEnvironmentsAccessor.class)).thenReturn(value2);
172 Result<OperationalEnvironmentEntry> value3 = null;
173 Mockito.when(value2.getByEnvironmentsStatus(Mockito.any(String.class))).thenReturn(value3);
177 result = testSubject.getByEnvironmentsStatus(EnvironmentStatusEnum.COMPLETED);