95d5b3756d8843c288e4d3488c1288186232cc42
[sdc.git] / catalog-dao / src / test / java / org / openecomp / sdc / be / dao / cassandra / OperationalEnvironmentDaoTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.openecomp.sdc.be.dao.cassandra;
22
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;
36
37 import java.util.List;
38
39 import static org.junit.Assert.assertTrue;
40
41 public class OperationalEnvironmentDaoTest {
42
43         @InjectMocks
44         OperationalEnvironmentDao testSubject;
45
46         @Mock
47         CassandraClient clientMock;
48
49         @Before
50         public void setUp() throws Exception {
51                 MockitoAnnotations.initMocks(this);
52         }
53
54         @Test
55         public void testInit() throws Exception {
56
57                 // default test
58                 testSubject.init();
59                 
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);
66                 testSubject.init();
67         }
68         
69         @Test
70         public void testInitException() throws Exception {
71
72                 // default test
73                 testSubject.init();
74
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);
79                 try {
80                         testSubject.init();
81                 } catch (Exception e) {
82                         assertTrue(e.getClass() == RuntimeException.class);
83                 }
84         }
85         
86         @Test
87         public void testSave() throws Exception {
88                 OperationalEnvironmentEntry operationalEnvironmentEntry = null;
89                 CassandraOperationStatus result;
90
91                 // default test
92                 result = testSubject.save(operationalEnvironmentEntry);
93         }
94
95         @Test
96         public void testGet() throws Exception {
97                 String envId = "";
98                 Either<OperationalEnvironmentEntry, CassandraOperationStatus> result;
99
100                 // default test
101                 result = testSubject.get(envId);
102         }
103
104         @Test
105         public void testDelete() throws Exception {
106                 String envId = "";
107                 CassandraOperationStatus result;
108
109                 // default test
110                 result = testSubject.delete(envId);
111         }
112
113         @Test
114         public void testDeleteAll() throws Exception {
115                 CassandraOperationStatus result;
116
117                 // default test
118                 result = testSubject.deleteAll();
119                 
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);
126                 testSubject.init();
127                 
128                 result = testSubject.deleteAll();
129         }
130
131         @Test
132         public void testIsTableEmpty() throws Exception {
133                 String tableName = "";
134                 Either<Boolean, CassandraOperationStatus> result;
135
136                 // default test
137                 result = testSubject.isTableEmpty(tableName);
138         }
139
140         @Test
141         public void testGetByEnvironmentsStatus() throws Exception {
142                 Either<List<OperationalEnvironmentEntry>, CassandraOperationStatus> result;
143                 
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);
154                 testSubject.init();
155                 
156                 // default test
157                 result = testSubject.getByEnvironmentsStatus(EnvironmentStatusEnum.COMPLETED);
158         }
159         
160         @Test
161         public void testGetByEnvironmentsStatusNull() throws Exception {
162                 Either<List<OperationalEnvironmentEntry>, CassandraOperationStatus> result;
163                 
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);
174                 testSubject.init();
175                 
176                 // default test
177                 result = testSubject.getByEnvironmentsStatus(EnvironmentStatusEnum.COMPLETED);
178         }
179 }