Sonar fixes in RestServiceNode 21/29321/7
authorwejs <maciej.wejs@nokia.com>
Fri, 26 Jan 2018 13:23:41 +0000 (14:23 +0100)
committerPatrick Brady <pb071s@att.com>
Fri, 9 Feb 2018 23:50:24 +0000 (23:50 +0000)
Fixes inlude changes in other files where needed
Test coverage provided

Change-Id: Id079bb9c5e5596efb11809b3185bdde8edb11fd2
Issue-ID: APPC-525
Signed-off-by: wejs <maciej.wejs@nokia.com>
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/executorImpl/RestExecutor.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/interfaces/FlowExecutorInterface.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/FlowControlNode.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node/RestServiceNode.java
appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/executorImpl/RestExecutorTest.java [new file with mode: 0644]
appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/RestExecutorTest.java [deleted file]
appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/TestRestServiceNode.java

index 4770aba..011ac97 100644 (file)
  */
 package org.onap.appc.flow.controller.executorImpl;
 
-import java.io.FileInputStream;
-import java.io.InputStream;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.ClientResponse.Status;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.client.config.DefaultClientConfig;
+import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
+import com.sun.jersey.client.urlconnection.HTTPSProperties;
 import java.net.URI;
-import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
-import java.util.Properties;
-
+import java.util.Map;
+import java.util.Optional;
 import javax.net.ssl.HostnameVerifier;
 import javax.net.ssl.SSLContext;
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.core.MediaType;
-
 import org.apache.commons.lang3.StringUtils;
 import org.onap.appc.flow.controller.data.Response;
 import org.onap.appc.flow.controller.data.Transaction;
 import org.onap.appc.flow.controller.interfaces.FlowExecutorInterface;
-import org.onap.appc.flow.controller.utils.FlowControllerConstants;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
 
 
 public class RestExecutor implements FlowExecutorInterface {
 
     private static final EELFLogger log = EELFManager.getInstance().getLogger(RestExecutor.class);
-    private static final String SDNC_CONFIG_DIR_VAR = "SDNC_CONFIG_DIR";
-    Properties props = new Properties();
-    public RestExecutor() throws Exception {
-        String propDir = System.getenv(SDNC_CONFIG_DIR_VAR);
-        if (propDir == null)
-            throw new Exception(" Cannot find Property file -" + SDNC_CONFIG_DIR_VAR);
-        String propFile = propDir + FlowControllerConstants.APPC_FLOW_CONTROLLER;
-        InputStream propStream = new FileInputStream(propFile);
-        try{
-            props.load(propStream);
-        }
-        catch (Exception e){
-            throw new Exception("Could not load properties file " + propFile, e);
-        }
-        finally{
-            try{
-                propStream.close();
-            }
-            catch (Exception e){
-                log.warn("Could not close FileInputStream", e);
-            }
-        }
-    }
+
     @Override
-    public HashMap<String, String> execute(Transaction transaction, SvcLogicContext ctx) throws Exception{
+    public Map<String, String> execute(Transaction transaction, SvcLogicContext ctx) throws Exception{
         log.info("Configuring Rest Operation....." + transaction.toString());
-        Response response = new Response();
-        HashMap<String, String> outputMessage = new HashMap<String, String>();
+        Map<String, String> outputMessage = new HashMap<>();
         Client client = null;
-        WebResource webResource = null;
-        ClientResponse clientResponse = null;
-        String responseDataType=MediaType.APPLICATION_JSON;
-        String requestDataType=MediaType.APPLICATION_JSON;
-
 
-        try{
-            DefaultClientConfig defaultClientConfig = new DefaultClientConfig();
+        try {
             System.setProperty("jsse.enableSNIExtension", "false");
-            SSLContext sslContext = null;
-            SecureRestClientTrustManager secureRestClientTrustManager = new SecureRestClientTrustManager();
-            sslContext = SSLContext.getInstance("SSL");
-            sslContext.init(null, new javax.net.ssl.TrustManager[] { secureRestClientTrustManager }, null);
+            SSLContext sslContext = SSLContext.getInstance("SSL");
+            sslContext.init(null, new javax.net.ssl.TrustManager[] {new SecureRestClientTrustManager()}, null);
+            DefaultClientConfig defaultClientConfig = new DefaultClientConfig();
             defaultClientConfig.getProperties().put(
-                    com.sun.jersey.client.urlconnection.HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
-                    new com.sun.jersey.client.urlconnection.HTTPSProperties(getHostnameVerifier(), sslContext));
-            client = Client.create(defaultClientConfig);
+                    HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
+                    new HTTPSProperties(getHostnameVerifier(), sslContext));
+            client = createClient(defaultClientConfig);
             client.addFilter(new HTTPBasicAuthFilter(transaction.getuId(), transaction.getPswd()));
-            webResource = client.resource(new URI(transaction.getExecutionEndPoint()));
+            WebResource webResource = client.resource(new URI(transaction.getExecutionEndPoint()));
             webResource.setProperty("Content-Type", "application/json;charset=UTF-8");
 
-            log.info("Starting Rest Operation.....");
-            if(HttpMethod.GET.equalsIgnoreCase(transaction.getExecutionRPC())){
-                clientResponse = webResource.accept(responseDataType).get(ClientResponse.class);
-            }else if(HttpMethod.POST.equalsIgnoreCase(transaction.getExecutionRPC())){
-                clientResponse = webResource.type(requestDataType).post(ClientResponse.class, transaction.getPayload());
-            }else if(HttpMethod.PUT.equalsIgnoreCase(transaction.getExecutionRPC())){
-                clientResponse = webResource.type(requestDataType).put(ClientResponse.class,transaction.getPayload());
-            }else if(HttpMethod.DELETE.equalsIgnoreCase(transaction.getExecutionRPC())){
-                clientResponse = webResource.delete(ClientResponse.class);
-            }
-
-            if(clientResponse.getStatus() == 200){
-                response.setResponseCode(String.valueOf(clientResponse.getStatus()));
-                ArrayList<Response> responses = new ArrayList<Response>();
-                responses.add(response);
-                transaction.setResponses(responses);
-                outputMessage.put("restResponse", clientResponse.getEntity(String.class));
-            }
-            else{
+            ClientResponse clientResponse = getClientResponse(transaction, webResource)
+                    .orElseThrow(() -> new Exception(
+                    "Cannot determine the state of : "
+                    + transaction.getActionLevel()
+                    + " HTTP response is null"));
 
-                String errorMsg = clientResponse.getEntity(String.class);
-                if (StringUtils.isNotBlank(errorMsg)) {
-                    log.debug("Error Message from Client Response" + errorMsg);
-                }
-
-                throw new Exception("Can not determine the state of : " + transaction.getActionLevel()  + " HTTP error code : "
-                        + clientResponse.getStatus());
-
-            }
+            processClientResponse(clientResponse, transaction, outputMessage);
 
             log.info("Completed Rest Operation.....");
 
-        }catch (Exception e) {
-            e.printStackTrace();
-            log.debug("failed in RESTCONT Action ("+transaction.getExecutionRPC()+") for the resource " + transaction.getExecutionEndPoint() + ", falut message :"+e.getMessage());
-            throw new Exception("Error While Sending Rest Request" + e.getMessage());
-        }
-        finally {
-            // clean up.
-            webResource = null;
-            if(client != null){
+        } catch (Exception e) {
+            log.debug("failed in RESTCONT Action ("
+                    + transaction.getExecutionRPC()
+                    + ") for the resource "
+                    + transaction.getExecutionEndPoint()
+                    + ", fault message :"
+                    + e.getMessage());
+            throw new Exception("Error While Sending Rest Request", e);
+
+        } finally {
+            if(client != null) {
                 client.destroy();
-                client = null;
             }
         }
-
         return outputMessage;
     }
 
-private HostnameVerifier getHostnameVerifier() {
-    return new HostnameVerifier() {
-        @Override
-        public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) {
-            return true;
+    private HostnameVerifier getHostnameVerifier() {
+        return (hostname, sslSession) -> true;
+    }
+
+    Client createClient(DefaultClientConfig defaultClientConfig) {
+        return Client.create(defaultClientConfig);
+    }
+
+    private Optional<ClientResponse> getClientResponse(Transaction transaction, WebResource webResource) {
+        String responseDataType=MediaType.APPLICATION_JSON;
+        String requestDataType=MediaType.APPLICATION_JSON;
+        ClientResponse clientResponse = null;
+
+        log.info("Starting Rest Operation.....");
+        if(HttpMethod.GET.equalsIgnoreCase(transaction.getExecutionRPC())) {
+            clientResponse = webResource.accept(responseDataType).get(ClientResponse.class);
+        }else if(HttpMethod.POST.equalsIgnoreCase(transaction.getExecutionRPC())) {
+            clientResponse = webResource.type(requestDataType).post(ClientResponse.class, transaction.getPayload());
+        }else if(HttpMethod.PUT.equalsIgnoreCase(transaction.getExecutionRPC())) {
+            clientResponse = webResource.type(requestDataType).put(ClientResponse.class, transaction.getPayload());
+        }else if(HttpMethod.DELETE.equalsIgnoreCase(transaction.getExecutionRPC())) {
+            clientResponse = webResource.delete(ClientResponse.class);
         }
-    };
-}
+        return Optional.ofNullable(clientResponse);
+    }
 
+    private void processClientResponse (ClientResponse clientResponse,
+                                        Transaction transaction,
+                                        Map<String, String> outputMessage ) throws Exception {
+
+        if(clientResponse.getStatus() == Status.OK.getStatusCode()) {
+            Response response = new Response();
+            response.setResponseCode(String.valueOf(Status.OK.getStatusCode()));
+            transaction.setResponses(Collections.singletonList(response));
+            outputMessage.put("restResponse", clientResponse.getEntity(String.class));
+        } else {
+            String errorMsg = clientResponse.getEntity(String.class);
+            if (StringUtils.isNotBlank(errorMsg)) {
+                log.debug("Error Message from Client Response" + errorMsg);
+            }
+            throw new Exception("Cannot determine the state of : "
+                    + transaction.getActionLevel()
+                    + " HTTP error code : "
+                    + clientResponse.getStatus());
+        }
+    }
 }
index dccd782..2949f8d 100644 (file)
 
 package org.onap.appc.flow.controller.interfaces;
 
-import java.util.HashMap;
-
 import org.onap.appc.flow.controller.data.Transaction;
-import org.onap.appc.flow.controller.utils.FlowControllerConstants;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 
+import java.util.Map;
 
+@FunctionalInterface
 public interface FlowExecutorInterface {
 
-    public HashMap<String, String> execute(Transaction transaction, SvcLogicContext ctx) throws Exception;
+    Map<String, String> execute(Transaction transaction, SvcLogicContext ctx) throws Exception;
 
 }
index 34cdf87..8b088e1 100644 (file)
@@ -48,16 +48,7 @@ import org.onap.appc.flow.controller.dbervices.FlowControlDBService;
 import org.onap.appc.flow.controller.executorImpl.GraphExecutor;
 import org.onap.appc.flow.controller.executorImpl.NodeExecutor;
 import org.onap.appc.flow.controller.executorImpl.RestExecutor;
-import org.onap.appc.flow.controller.interfaceData.ActionIdentifier;
-import org.onap.appc.flow.controller.interfaceData.Capabilities;
-import org.onap.appc.flow.controller.interfaceData.DependencyInfo;
-import org.onap.appc.flow.controller.interfaceData.Input;
-import org.onap.appc.flow.controller.interfaceData.InventoryInfo;
-import org.onap.appc.flow.controller.interfaceData.RequestInfo;
-import org.onap.appc.flow.controller.interfaceData.Vm;
-import org.onap.appc.flow.controller.interfaceData.VnfInfo;
-import org.onap.appc.flow.controller.interfaceData.Vnfcs;
-import org.onap.appc.flow.controller.interfaceData.Vnfcslist;
+import org.onap.appc.flow.controller.interfaceData.*;
 import org.onap.appc.flow.controller.interfaces.FlowExecutorInterface;
 import org.onap.appc.flow.controller.utils.EncryptionTool;
 import org.onap.appc.flow.controller.utils.FlowControllerConstants;
@@ -140,7 +131,7 @@ public class FlowControlNode implements SvcLogicJavaPlugin{
                 log.info("CollectInputParamsData-Input: " + input );
 
                 RestExecutor restExe = new RestExecutor();
-                HashMap<String,String>flowSeq= restExe.execute(transaction, localContext);
+                Map<String,String>flowSeq= restExe.execute(transaction, localContext);
 
                 JSONObject sequence = new JSONObject(flowSeq.get("restResponse"));
                 if(sequence.has("output"))
index 23d332b..b3c2fe2 100644 (file)
 
 package org.onap.appc.flow.controller.node;
 
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.onap.appc.flow.controller.data.Transaction;
 import org.onap.appc.flow.controller.executorImpl.RestExecutor;
@@ -37,11 +35,11 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+import java.util.Properties;
 
 public class RestServiceNode implements SvcLogicJavaPlugin{
 
@@ -126,7 +124,7 @@ public class RestServiceNode implements SvcLogicJavaPlugin{
             if(transaction.getPswd() == null)
                 transaction.setPswd(prop.getProperty(ctx.getAttribute(FlowControllerConstants.INPUT_REQUEST_ACTION).concat(".default-rest-pass")));    
 
-            HashMap<String, String> output = restRequestExecutor.execute(transaction, ctx);
+            Map<String, String> output = restRequestExecutor.execute(transaction, ctx);
 
             if(isValidJSON(output.get("restResponse")) != null) {
                 ctx.setAttribute(responsePrefix + "." + FlowControllerConstants.OUTPUT_STATUS_MESSAGE , output.get("restResponse"));
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/executorImpl/RestExecutorTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/executorImpl/RestExecutorTest.java
new file mode 100644 (file)
index 0000000..9ed2ec3
--- /dev/null
@@ -0,0 +1,183 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP : APPC
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Copyright (C) 2017 Amdocs
+ * =============================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.appc.flow.controller.executorImpl;
+
+import static javax.ws.rs.core.Response.Status.FORBIDDEN;
+import static javax.ws.rs.core.Response.Status.OK;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.when;
+
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.WebResource;
+import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.stream.Stream;
+import javax.ws.rs.HttpMethod;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.onap.appc.flow.controller.data.Transaction;
+
+public class RestExecutorTest {
+
+    private static final String ANY = "notNullString";
+    private static final String REST_RESPONSE = "restResponse";
+
+    private Transaction transaction;
+    private Map<String, String> outputMessage = new HashMap<>();
+
+    @Spy
+    private RestExecutor restExecutor = new RestExecutor();
+    @Mock
+    private Client client;
+    @Mock
+    private WebResource webResource;
+    @Mock
+    private WebResource.Builder webResourceBuilder;
+    @Mock
+    private ClientResponse clientResponse;
+
+
+    @Before
+    public void setUp() {
+        transaction = new Transaction();
+        transaction.setuId(ANY);
+        transaction.setPswd(ANY);
+        transaction.setExecutionEndPoint(ANY);
+        transaction.setPayload(ANY);
+
+        MockitoAnnotations.initMocks(this);
+        doReturn(client).when(restExecutor).createClient(any());
+        when(client.resource(any(URI.class))).thenReturn(webResource);
+
+        when(webResource.accept(anyString())).thenReturn(webResourceBuilder);
+        when(webResource.type(anyString())).thenReturn(webResourceBuilder);
+
+        when(webResourceBuilder.get(ClientResponse.class)).thenReturn(clientResponse);
+        when(webResourceBuilder.post(ClientResponse.class, ANY)).thenReturn(clientResponse);
+        when(webResourceBuilder.put(ClientResponse.class, ANY)).thenReturn(clientResponse);
+        when(webResource.delete(ClientResponse.class)).thenReturn(clientResponse);
+
+        when(clientResponse.getStatus()).thenReturn(OK.getStatusCode());
+        when(clientResponse.getEntity(String.class)).thenReturn(OK.getReasonPhrase());
+    }
+
+    @Test
+    public void checkClientResponse_whenHTTPMethodIsGET() throws Exception {
+
+        transaction.setExecutionRPC(HttpMethod.GET);
+
+        outputMessage = restExecutor.execute(transaction, null);
+
+        assertResponseOK();
+    }
+
+    @Test
+    public void checkClientResponse_whenHTTPMethodIsPOST() throws Exception {
+
+        transaction.setExecutionRPC(HttpMethod.POST);
+
+        outputMessage = restExecutor.execute(transaction, null);
+
+        assertResponseOK();
+    }
+
+    @Test
+    public void checkClientResponse_whenHTTPMethodIsPUT() throws Exception {
+
+        transaction.setExecutionRPC(HttpMethod.PUT);
+
+        outputMessage = restExecutor.execute(transaction, null);
+
+        assertResponseOK();
+    }
+
+    @Test
+    public void checkClientResponse_whenHTTPMethodIsDELETE() throws Exception {
+
+        transaction.setExecutionRPC(HttpMethod.DELETE);
+
+        outputMessage = restExecutor.execute(transaction, null);
+
+        assertResponseOK();
+    }
+
+    @Test(expected=Exception.class)
+    public void checkClienResponse_whenStatusNOK() throws Exception {
+        try {
+            when(clientResponse.getStatus()).thenReturn(FORBIDDEN.getStatusCode());
+            when(clientResponse.getEntity(String.class)).thenReturn(FORBIDDEN.getReasonPhrase());
+            transaction.setExecutionRPC(HttpMethod.GET);
+
+            outputMessage = restExecutor.execute(transaction, null);
+
+        } catch(Exception e) {
+            assertResponseNOK(e);
+            throw e;
+        }
+    }
+
+    @Test(expected=Exception.class)
+    public void checkIfExceptionIsThrown_whenHTTPMethodIsNotSupported() throws Exception {
+        try {
+            transaction.setExecutionRPC(HttpMethod.HEAD);
+
+            outputMessage = restExecutor.execute(transaction, null);
+
+        } finally {
+            assertNotSupportedHTTPMethod();
+        }
+    }
+
+    private void assertResponseOK() {
+        assertFalse("Output Message is empty", outputMessage.isEmpty());
+        assertTrue("Output Message does not contain " + REST_RESPONSE, outputMessage.containsKey(REST_RESPONSE));
+        assertTrue("restResponse is not " + OK.getReasonPhrase(),
+            (OK.getReasonPhrase()).equals(outputMessage.get(REST_RESPONSE)));
+        assertTrue("HTTP_Response in NOK", transaction.getResponses().stream()
+            .anyMatch(response -> Integer.toString(OK.getStatusCode()).equals(response.getResponseCode())));
+    }
+
+    private void assertResponseNOK(Exception e) {
+        assertTrue("Output Message is not empty as it should", outputMessage.isEmpty());
+        assertTrue("Expected HTTP error code: " + FORBIDDEN.getStatusCode() + " is not present",
+            e.getCause().getMessage().contains(Integer.toString(FORBIDDEN.getStatusCode())));
+    }
+
+    private void assertNotSupportedHTTPMethod() {
+        assertTrue("Output Message is not empty as it should", outputMessage.isEmpty());
+        assertTrue("HTTP Method: " + transaction.getExecutionRPC() + " is supported but was not handled",
+            Stream.of(HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE)
+                .noneMatch(httpMethod -> httpMethod.equals(transaction.getExecutionRPC())));
+    }
+}
diff --git a/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/RestExecutorTest.java b/appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/executor/node/RestExecutorTest.java
deleted file mode 100644 (file)
index 11ddbe0..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-/*-\r
- * ============LICENSE_START=======================================================\r
- * ONAP : APPC\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- * Copyright (C) 2017 Amdocs\r
- * =============================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
- * ============LICENSE_END=========================================================\r
- */\r
-\r
-package org.onap.appc.flow.executor.node;\r
-\r
-import static org.mockito.Matchers.any;\r
-import static org.mockito.Matchers.anyString;\r
-import static org.mockito.Mockito.doReturn;\r
-import static org.mockito.Mockito.mock;\r
-import static org.mockito.Mockito.when;\r
-\r
-import java.net.URI;\r
-import java.security.KeyManagementException;\r
-import java.security.NoSuchAlgorithmException;\r
-\r
-import javax.net.ssl.SSLContext;\r
-import javax.ws.rs.core.MediaType;\r
-\r
-import org.junit.After;\r
-import org.junit.AfterClass;\r
-import org.junit.Assert;\r
-import org.junit.Before;\r
-import org.junit.BeforeClass;\r
-import org.junit.Test;\r
-import org.mockito.InjectMocks;\r
-import org.mockito.Mock;\r
-import org.mockito.Mockito;\r
-import org.onap.appc.flow.controller.executorImpl.RestExecutor;\r
-import org.powermock.api.mockito.PowerMockito;\r
-\r
-import com.sun.jersey.api.client.Client;\r
-import com.sun.jersey.api.client.ClientResponse;\r
-import com.sun.jersey.api.client.config.DefaultClientConfig;\r
-import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;\r
-\r
-public class RestExecutorTest {\r
-       \r
-    \r
-    private static final String URL = null;\r
-\r
-       @Mock\r
-       private DefaultClientConfig clientConfig;\r
-\r
-       @Mock\r
-       private com.sun.jersey.api.client.WebResource webResource;\r
-       \r
-       @InjectMocks\r
-       private Client client;\r
-       @Mock\r
-       private ClientResponse res;\r
-       @Mock\r
-       URI resourceUri;\r
-@Mock\r
-RestExecutor restEx;\r
-       @BeforeClass\r
-       public static void setUpBeforeClass() throws Exception {\r
-       }\r
-\r
-       @AfterClass\r
-       public static void tearDownAfterClass() throws Exception {\r
-       }\r
-\r
-       @Before\r
-       public void setUp() throws Exception {\r
-               clientConfig = Mockito.mock(DefaultClientConfig.class);\r
-                Client mockClient = Client.create();\r
-                client = Client.create(clientConfig);\r
-               doReturn(mockClient).when(client).create();\r
-               webResource= mockClient.resource(URL);\r
-               doReturn(webResource).when(mockClient).resource(URL);\r
-               when(webResource.get((Class<String>) any())).thenReturn("OK")   ;        \r
-       }\r
-\r
-       @After\r
-       public void tearDown() throws Exception {\r
-       }\r
-\r
-       \r
-\r
-\r
-       \r
-}\r
index 802601e..eb5bfd2 100644 (file)
  */
 package org.onap.appc.flow.executor.node;
 
-import java.io.InputStream;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Properties;
-
-import org.junit.Before;
 import org.junit.Test;
 import org.onap.appc.flow.controller.data.Transaction;
 import org.onap.appc.flow.controller.executorImpl.RestExecutor;
-import org.onap.appc.flow.controller.interfaceData.ActionIdentifier;
-import org.onap.appc.flow.controller.interfaceData.InventoryInfo;
-import org.onap.appc.flow.controller.interfaceData.RequestInfo;
-import org.onap.appc.flow.controller.interfaceData.Vm;
-import org.onap.appc.flow.controller.interfaceData.VnfInfo;
-import org.onap.appc.flow.controller.interfaceData.Vnfcslist;
 import org.onap.appc.flow.controller.node.FlowControlNode;
 import org.onap.appc.flow.controller.node.RestServiceNode;
 import org.onap.appc.flow.controller.utils.FlowControllerConstants;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 
+import java.util.HashMap;
+import java.util.Map;
+
 public class TestRestServiceNode {
 
     @Test(expected=Exception.class)
@@ -82,7 +73,7 @@ public class TestRestServiceNode {
         Transaction transaction = new Transaction();
 
         FlowControlNode node = new FlowControlNode();
-        HashMap<String,String>flowSeq= restExe.execute(transaction, ctx);
+        Map<String,String> flowSeq= restExe.execute(transaction, ctx);
         String flowSequnce=flowSeq.get("restResponse");
 
     }