2 * ============LICENSE_START==========================================
4 * ===================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ===================================================================
8 * Unless otherwise specified, all software contained herein is licensed
9 * under the Apache License, Version 2.0 (the "License");
10 * you may not use this software except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
21 * Unless otherwise specified, all documentation contained herein is licensed
22 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23 * you may not use this documentation except in compliance with the License.
24 * You may obtain a copy of the License at
26 * https://creativecommons.org/licenses/by/4.0/
28 * Unless required by applicable law or agreed to in writing, documentation
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 * ============LICENSE_END============================================
38 package org.onap.portalapp.portal.controller;
40 import static org.junit.Assert.assertTrue;
42 import java.util.ArrayList;
43 import java.util.List;
45 import javax.servlet.http.HttpServletRequest;
46 import javax.servlet.http.HttpServletResponse;
48 import org.junit.Before;
49 import org.junit.Test;
50 import org.mockito.InjectMocks;
51 import org.mockito.Mock;
52 import org.mockito.Mockito;
53 import org.mockito.MockitoAnnotations;
54 import org.onap.portalapp.portal.controller.ConsulClientController;
55 import org.onap.portalapp.portal.domain.BEProperty;
56 import org.onap.portalapp.portal.ecomp.model.PortalRestResponse;
57 import org.onap.portalapp.portal.ecomp.model.PortalRestStatusEnum;
58 import org.onap.portalapp.portal.framework.MockitoTestSuite;
59 import org.onap.portalapp.portal.service.ConsulHealthService;
60 import org.onap.portalapp.portal.service.ConsulHealthServiceImpl;
62 import com.orbitz.consul.ConsulException;
63 import com.orbitz.consul.model.health.ServiceHealth;
65 import io.searchbox.client.config.exception.NoServerConfiguredException;
67 public class ConsulClientControllerTest {
70 ConsulHealthService consulHealthService = new ConsulHealthServiceImpl();
73 ConsulClientController consulClientController = new ConsulClientController();
75 NoServerConfiguredException noServerConfiguredException = new NoServerConfiguredException(null);
77 String service = "Test";
81 MockitoAnnotations.initMocks(this);
84 MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
86 HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
87 HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
88 NullPointerException nullPointerException = new NullPointerException();
89 ConsulException consulException = new ConsulException(nullPointerException);
92 public void getServiceLocationTest() {
93 PortalRestResponse<BEProperty> ecpectedPortalRestResponse = new PortalRestResponse<BEProperty>();
94 ecpectedPortalRestResponse.setMessage("Success!");
95 ecpectedPortalRestResponse.setResponse(null);
96 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
97 PortalRestResponse<String> actualPortalRestRespone = new PortalRestResponse<String>();
98 actualPortalRestRespone = consulClientController.getServiceLocation(mockedRequest, mockedResponse, service);
99 assertTrue(actualPortalRestRespone.equals(ecpectedPortalRestResponse));
103 public void getServiceLocationExceptionTest() {
104 PortalRestResponse<BEProperty> ecpectedPortalRestResponse = new PortalRestResponse<BEProperty>();
105 ecpectedPortalRestResponse.setMessage("Warning!");
106 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.WARN);
107 PortalRestResponse<String> actualPortalRestRespone = new PortalRestResponse<String>();
108 Mockito.when(consulHealthService.getServiceLocation(service, null)).thenThrow(noServerConfiguredException);
109 actualPortalRestRespone = consulClientController.getServiceLocation(mockedRequest, mockedResponse, service);
110 assertTrue(actualPortalRestRespone.getMessage().equals(ecpectedPortalRestResponse.getMessage()));
111 assertTrue(actualPortalRestRespone.getStatus().equals(ecpectedPortalRestResponse.getStatus()));
116 public void getServiceLocationExceptionConsulExceptionTest() {
117 PortalRestResponse<BEProperty> ecpectedPortalRestResponse = new PortalRestResponse<BEProperty>();
118 ecpectedPortalRestResponse.setMessage("Error!");
119 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
120 PortalRestResponse<String> actualPortalRestRespone = new PortalRestResponse<String>();
121 Mockito.when(consulHealthService.getServiceLocation(service, null)).thenThrow(consulException);
122 actualPortalRestRespone = consulClientController.getServiceLocation(mockedRequest, mockedResponse, service);
123 assertTrue(actualPortalRestRespone.getMessage().equals(ecpectedPortalRestResponse.getMessage()));
124 assertTrue(actualPortalRestRespone.getStatus().equals(ecpectedPortalRestResponse.getStatus()));
127 public PortalRestResponse<List<ServiceHealth>> successResponse() {
128 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = new PortalRestResponse<List<ServiceHealth>>();
129 List<ServiceHealth> healths = new ArrayList<ServiceHealth>();
130 ecpectedPortalRestResponse.setMessage("Success!");
131 ecpectedPortalRestResponse.setResponse(healths);
132 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
133 return ecpectedPortalRestResponse;
136 public PortalRestResponse<List<ServiceHealth>> errorResponse() {
137 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = new PortalRestResponse<List<ServiceHealth>>();
138 List<ServiceHealth> healths = new ArrayList<ServiceHealth>();
139 ecpectedPortalRestResponse.setMessage("Error!");
140 ecpectedPortalRestResponse.setResponse(healths);
141 ecpectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
142 return ecpectedPortalRestResponse;
146 public void getAllHealthyNodesTest() {
147 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = successResponse();
148 PortalRestResponse<List<ServiceHealth>> actualPortalRestRespone = new PortalRestResponse<List<ServiceHealth>>();
149 actualPortalRestRespone = consulClientController.getAllHealthyNodes(mockedRequest, mockedResponse, service);
150 assertTrue(actualPortalRestRespone.equals(ecpectedPortalRestResponse));
155 public void getAllHealthyNodesExceptionTest() {
156 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = errorResponse();
157 PortalRestResponse<List<ServiceHealth>> actualPortalRestRespone = new PortalRestResponse<List<ServiceHealth>>();
158 Mockito.when(consulHealthService.getAllHealthyNodes(service)).thenThrow(consulException);
159 actualPortalRestRespone = consulClientController.getAllHealthyNodes(mockedRequest, mockedResponse, service);
160 assertTrue(actualPortalRestRespone.equals(ecpectedPortalRestResponse));
164 public void getAllNodesTest() {
165 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = successResponse();
166 PortalRestResponse<List<ServiceHealth>> actualPortalRestRespone = new PortalRestResponse<List<ServiceHealth>>();
167 actualPortalRestRespone = consulClientController.getAllNodes(mockedRequest, mockedResponse, service);
168 assertTrue(actualPortalRestRespone.equals(ecpectedPortalRestResponse));
172 public void getAllNodesExceptionTest() {
173 PortalRestResponse<List<ServiceHealth>> ecpectedPortalRestResponse = errorResponse();
174 PortalRestResponse<List<ServiceHealth>> actualPortalRestRespone = new PortalRestResponse<List<ServiceHealth>>();
175 Mockito.when(consulHealthService.getAllNodes(service)).thenThrow(consulException);
176 actualPortalRestRespone = consulClientController.getAllNodes(mockedRequest, mockedResponse, service);
177 assertTrue(actualPortalRestRespone.equals(ecpectedPortalRestResponse));