1 package org.openecomp.sdc.fe.servlets;
3 import static org.junit.Assert.assertTrue;
4 import static org.mockito.Mockito.when;
6 import java.io.IOException;
7 import java.util.ArrayList;
10 import org.apache.http.StatusLine;
11 import org.apache.http.client.ClientProtocolException;
12 import org.apache.http.client.methods.CloseableHttpResponse;
13 import org.apache.http.client.methods.HttpHead;
14 import org.apache.http.impl.client.CloseableHttpClient;
15 import org.junit.BeforeClass;
16 import org.junit.Test;
17 import org.mockito.Mockito;
18 import org.openecomp.sdc.fe.config.ConfigurationManager;
19 import org.openecomp.sdc.fe.config.DesignersConfiguration;
20 import org.openecomp.sdc.fe.config.DesignersConfiguration.Designer;
21 import org.openecomp.sdc.fe.impl.DesignerStatusBL;
23 import com.google.gson.Gson;
24 import com.google.gson.GsonBuilder;
26 public class DesignerStatusBLTest {
28 final static CloseableHttpClient httpClient = Mockito.mock(CloseableHttpClient.class);
29 DesignerStatusBL designerStatusBL = new DesignerStatusBL(httpClient);
30 private static Gson gson = new GsonBuilder().setPrettyPrinting().create();
32 final static ConfigurationManager configurationManager = Mockito.mock(ConfigurationManager.class);
33 final static DesignersConfiguration designersConfiguration = Mockito.mock(DesignersConfiguration.class);
34 final static Designer offlineDesigner = new Designer();
35 final static Designer onlineDesigner = new Designer();
36 final static CloseableHttpResponse httpResponse = Mockito.mock(CloseableHttpResponse.class);
37 final static StatusLine statusLine = Mockito.mock(StatusLine.class);
38 final static List<Designer> testDesignersList = new ArrayList<>();
40 final static String offlineDesignerDisplayName = "offlineDesigner";
41 final static String offlineDesignerHost = "192.168.10.1";
42 final static int offlineDesignerPort = 1000;
43 final static String offlineDesignerPath = "/offline";
44 final static String offlineDesignerProtocol = "http";
46 final static String onlineDesignerDisplayName = "onlineDesigner";
47 final static String onlineDesignerHost = "192.168.20.2";
48 final static int onlineDesignerPort = 2000;
49 final static String onlineDesignerPath = "/online";
50 final static String onlineDesignerProtocol = "http";
53 public static void beforeClass() {
54 ConfigurationManager.setTestInstance(configurationManager);
55 when(configurationManager.getDesignersConfiguration()).thenReturn(designersConfiguration);
57 offlineDesigner.setDisplayName(offlineDesignerDisplayName);
58 offlineDesigner.setDesignerHost(offlineDesignerHost);
59 offlineDesigner.setDesignerPort(offlineDesignerPort);
60 offlineDesigner.setDesignerPath(offlineDesignerPath);
61 offlineDesigner.setDesignerProtocol(offlineDesignerProtocol);
63 StringBuilder offlineRequestString = new StringBuilder();
64 offlineRequestString.append(offlineDesignerProtocol).append("://").append(onlineDesignerHost).append(":")
65 .append(offlineDesignerPort).append(offlineDesignerPath);
67 onlineDesigner.setDisplayName(onlineDesignerDisplayName);
68 onlineDesigner.setDesignerHost(onlineDesignerHost);
69 onlineDesigner.setDesignerPort(onlineDesignerPort);
70 onlineDesigner.setDesignerPath(onlineDesignerPath);
71 onlineDesigner.setDesignerProtocol(onlineDesignerProtocol);
73 StringBuilder onlineRequestString = new StringBuilder();
74 onlineRequestString.append(onlineDesignerProtocol).append("://").append(onlineDesignerHost).append(":")
75 .append(offlineDesignerPort).append(offlineDesignerPath);
80 public void TestOfflineDesignerNotBeingReturnedWhenCallingCheckDesignerListAvailability() throws ClientProtocolException, IOException {
81 testDesignersList.add(offlineDesigner);
82 when(designersConfiguration.getDesignersList()).thenReturn(testDesignersList);
84 when(statusLine.getStatusCode()).thenReturn(404);
85 when(httpResponse.getStatusLine()).thenReturn(statusLine);
86 when(httpClient.execute(Mockito.any(HttpHead.class))).thenReturn(httpResponse);
88 assertTrue(designerStatusBL.checkDesignerListAvailability().equals("[]"));
93 public void TestOnlineDesignerNotBeingReturnedWhenCallingCheckDesignerListAvailability() throws ClientProtocolException, IOException {
94 testDesignersList.add(onlineDesigner);
95 when(designersConfiguration.getDesignersList()).thenReturn(testDesignersList);
97 when(statusLine.getStatusCode()).thenReturn(200);
98 when(httpResponse.getStatusLine()).thenReturn(statusLine);
99 when(httpClient.execute(Mockito.any())).thenReturn(httpResponse);
101 String result = gson.toJson(testDesignersList);
103 assertTrue(designerStatusBL.checkDesignerListAvailability().contains(result));