Removed Dependency: httpclient 33/121633/2
authortang peng <tang.peng5@zte.com.cn>
Wed, 2 Jun 2021 09:14:36 +0000 (17:14 +0800)
committertang peng <tang.peng5@zte.com.cn>
Thu, 3 Jun 2021 11:45:36 +0000 (19:45 +0800)
Issue-ID: HOLMES-414
Signed-off-by: tang peng <tang.peng5@zte.com.cn>
Change-Id: I3d7771d25d4bd0f67a2e02373ceb2ec392ad4f40

14 files changed:
pom.xml
rulemgt-frontend/pom.xml
rulemgt-standalone/pom.xml
rulemgt/pom.xml
rulemgt/src/main/java/org/onap/holmes/rulemgt/Initializer.java
rulemgt/src/main/java/org/onap/holmes/rulemgt/RuleActiveApp.java
rulemgt/src/main/java/org/onap/holmes/rulemgt/bean/request/CorrelationDeployRule4Engine.java
rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineService.java
rulemgt/src/main/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java
rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java
rulemgt/src/test/java/org/onap/holmes/rulemgt/InitializerTest.java
rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineServiceTest.java
rulemgt/src/test/java/org/onap/holmes/rulemgt/bolt/enginebolt/EngineWrapperTest.java
rulemgt/src/test/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPollingTest.java

diff --git a/pom.xml b/pom.xml
index 21d91dc..bac7610 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
 
     <groupId>org.onap.holmes.rule-management</groupId>
     <artifactId>holmes-rulemgt-parent</artifactId>
-    <version>1.3.3-SNAPSHOT</version>
+    <version>1.3.4-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>holmes-rule-management</name>
     <modules>
                     <groupId>com.squareup.retrofit2</groupId>
                     <artifactId>retrofit</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>org.apache.httpcomponents</groupId>
+                    <artifactId>httpclient</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
         <dependency>
         <dependency>
             <groupId>org.onap.holmes.common</groupId>
             <artifactId>holmes-actions</artifactId>
-            <version>1.3.2</version>
+            <version>1.3.4</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.glassfish.jersey.containers</groupId>
index c2695a8..9609647 100644 (file)
@@ -24,7 +24,7 @@
   <parent>
     <groupId>org.onap.holmes.rule-management</groupId>
     <artifactId>holmes-rulemgt-parent</artifactId>
-    <version>1.3.3-SNAPSHOT</version>
+    <version>1.3.4-SNAPSHOT</version>
   </parent>
 
   <artifactId>holmes-rulemgt-frontend</artifactId>
index 3658a22..db98945 100644 (file)
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.onap.holmes.rule-management</groupId>
         <artifactId>holmes-rulemgt-parent</artifactId>
-        <version>1.3.3-SNAPSHOT</version>
+        <version>1.3.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>holmes-rulemgt-standalone</artifactId>
index b264edc..13c568a 100644 (file)
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.onap.holmes.rule-management</groupId>
         <artifactId>holmes-rulemgt-parent</artifactId>
-        <version>1.3.3-SNAPSHOT</version>
+        <version>1.3.4-SNAPSHOT</version>
     </parent>
 
     <artifactId>holmes-rulemgt</artifactId>
index 92c77ab..6769d65 100644 (file)
@@ -19,7 +19,7 @@ package org.onap.holmes.rulemgt;
 import org.jvnet.hk2.annotations.Service;
 import org.onap.holmes.common.config.MicroServiceConfig;
 import org.onap.holmes.common.exception.CorrelationException;
-import org.onap.holmes.common.utils.HttpsUtils;
+import org.onap.holmes.common.utils.CommonUtils;
 import org.onap.holmes.common.utils.MsbRegister;
 import org.onap.msb.sdk.discovery.entity.MicroServiceInfo;
 import org.onap.msb.sdk.discovery.entity.Node;
@@ -31,7 +31,8 @@ import javax.inject.Inject;
 import java.util.HashSet;
 import java.util.Set;
 
-import static org.onap.holmes.common.config.MicroServiceConfig.*;
+import static org.onap.holmes.common.utils.CommonUtils.getEnv;
+import static org.onap.holmes.common.utils.CommonUtils.isIpAddress;
 
 @Service
 public class Initializer {
@@ -62,13 +63,13 @@ public class Initializer {
         msinfo.setProtocol("REST");
         msinfo.setVisualRange("0|1");
         msinfo.setLb_policy("round-robin");
-        msinfo.setEnable_ssl(HttpsUtils.isHttpsEnabled());
+        msinfo.setEnable_ssl(CommonUtils.isHttpsEnabled());
         Set<Node> nodes = new HashSet<>();
         Node node = new Node();
         node.setIp(isIpAddress(serviceIpAndPort[0]) ? serviceIpAndPort[0] : getEnv("HOLMES_RULE_MGMT_SERVICE_HOST"));
         node.setPort("9101");
         /* Following codes will cause an unregistration from MSB (due to MSB malfunction), comment them for now
-        String msbAddrTemplate = (HttpsUtils.isHttpsEnabled() ? "https" : "http")
+        String msbAddrTemplate = (CommonUtils.isHttpsEnabled() ? "https" : "http")
                 + "://%s:%s/api/holmes-rule-mgmt/v1/healthcheck";
         node.setCheckType("HTTP");
         node.setCheckUrl(String.format(msbAddrTemplate, serviceAddrInfo[0], "9101"));
index 0385f91..f77b909 100644 (file)
@@ -19,6 +19,7 @@ package org.onap.holmes.rulemgt;
 import io.dropwizard.setup.Environment;
 import org.onap.holmes.common.config.MicroServiceConfig;
 import org.onap.holmes.common.dropwizard.ioc.bundle.IOCApplication;
+import org.onap.holmes.common.utils.CommonUtils;
 import org.onap.holmes.common.utils.transactionid.TransactionIdFilter;
 import org.onap.holmes.rulemgt.dcae.DcaeConfigurationPolling;
 import org.slf4j.Logger;
@@ -43,7 +44,7 @@ public class RuleActiveApp extends IOCApplication<RuleAppConfig> {
         if (!"1".equals(System.getenv("TESTING"))) {
             ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
             service.scheduleAtFixedRate(
-                    new DcaeConfigurationPolling(MicroServiceConfig.getEnv(MicroServiceConfig.HOSTNAME)), 0,
+                    new DcaeConfigurationPolling(CommonUtils.getEnv(MicroServiceConfig.HOSTNAME)), 0,
                     DcaeConfigurationPolling.POLLING_PERIOD, TimeUnit.MILLISECONDS);
         }
 
index 4c578e4..714a95c 100644 (file)
@@ -22,9 +22,7 @@ import lombok.Setter;
 \r
 @Getter\r
 @Setter\r
-public class CorrelationDeployRule4Engine {\r
-\r
-    private String content;\r
+public class CorrelationDeployRule4Engine extends CorrelationCheckRule4Engine {\r
 \r
     private String engineId;\r
 \r
index 8782d7a..794ea93 100644 (file)
@@ -1,5 +1,5 @@
 /**\r
- * Copyright 2017-2020 ZTE Corporation.\r
+ * Copyright 2017-2021 ZTE Corporation.\r
  * <p>\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
  */\r
 package org.onap.holmes.rulemgt.bolt.enginebolt;\r
 \r
-import lombok.extern.slf4j.Slf4j;\r
-import org.apache.http.HttpResponse;\r
-import org.apache.http.client.methods.HttpDelete;\r
-import org.apache.http.client.methods.HttpPost;\r
-import org.apache.http.client.methods.HttpPut;\r
-import org.apache.http.entity.StringEntity;\r
-import org.apache.http.impl.client.CloseableHttpClient;\r
 import org.jvnet.hk2.annotations.Service;\r
-import org.onap.holmes.common.utils.GsonUtil;\r
-import org.onap.holmes.common.utils.HttpsUtils;\r
+import org.onap.holmes.common.utils.CommonUtils;\r
+import org.onap.holmes.common.utils.JerseyClient;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
-import org.onap.holmes.rulemgt.constant.RuleMgtConstant;\r
 \r
+import javax.ws.rs.client.Entity;\r
 import javax.ws.rs.core.MediaType;\r
-import java.io.IOException;\r
-import java.util.HashMap;\r
 \r
-@Slf4j\r
+import static org.onap.holmes.rulemgt.constant.RuleMgtConstant.ENGINE_PATH;\r
+\r
 @Service\r
 public class EngineService {\r
 \r
-    private static final String HTTPS = "https://";\r
-    private static final String HTTP = "http://";\r
-    private static final String PORT = ":9102";\r
+    private static final String PORT = "9102";\r
+    private static final String SEP = "//";\r
+    private static final String COLON = ":";\r
 \r
-    protected HttpResponse delete(String packageName, String ip) throws Exception {\r
-        HashMap headers = createHeaders();\r
-        String url = getRequestPref() + ip + PORT + RuleMgtConstant.ENGINE_PATH + "/" + packageName;\r
-        CloseableHttpClient httpClient = null;\r
-        HttpDelete httpDelete = new HttpDelete(url);\r
-        try {\r
-            httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);\r
-            return HttpsUtils.delete(httpDelete, headers, httpClient);\r
-        } finally {\r
-            httpDelete.releaseConnection();\r
-            closeHttpClient(httpClient);\r
-        }\r
+    protected boolean delete(String packageName, String ip) {\r
+        return new JerseyClient()\r
+                .path(packageName)\r
+                .delete(getUrl(ip)) != null;\r
     }\r
 \r
-    protected HttpResponse check(CorrelationCheckRule4Engine correlationCheckRule4Engine, String ip)\r
-            throws Exception {\r
-        String content = GsonUtil.beanToJson(correlationCheckRule4Engine);\r
-        HashMap headers = createHeaders();\r
-        String url = getRequestPref() + ip + PORT + RuleMgtConstant.ENGINE_PATH;\r
-        CloseableHttpClient httpClient = null;\r
-        HttpPost httpPost = new HttpPost(url);\r
-        try {\r
-            httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);\r
-            return HttpsUtils.post(httpPost, headers, new HashMap<>(), new StringEntity(content), httpClient);\r
-        } finally {\r
-            httpPost.releaseConnection();\r
-            closeHttpClient(httpClient);\r
-        }\r
+    protected boolean check(CorrelationCheckRule4Engine correlationCheckRule4Engine, String ip) {\r
+        return new JerseyClient()\r
+                .header("Accept", MediaType.APPLICATION_JSON)\r
+                .post(getUrl(ip), Entity.json(correlationCheckRule4Engine)) != null;\r
     }\r
 \r
-    protected HttpResponse deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine, String ip) throws Exception {\r
-        String content = GsonUtil.beanToJson(correlationDeployRule4Engine);\r
-        HashMap headers = createHeaders();\r
-        String url = getRequestPref() + ip + PORT + RuleMgtConstant.ENGINE_PATH;\r
-        CloseableHttpClient httpClient = null;\r
-        HttpPut httpPut = new HttpPut(url);\r
-        try {\r
-            httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);\r
-            return HttpsUtils.put(httpPut, headers, new HashMap<>(), new StringEntity(content), httpClient);\r
-        } finally {\r
-            closeHttpClient(httpClient);\r
-        }\r
+    protected String deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine, String ip) {\r
+        return new JerseyClient()\r
+                .header("Accept", MediaType.APPLICATION_JSON)\r
+                .put(getUrl(ip), Entity.json(correlationDeployRule4Engine));\r
     }\r
 \r
-    private void closeHttpClient(CloseableHttpClient httpClient) {\r
-        if (httpClient != null) {\r
-            try {\r
-                httpClient.close();\r
-            } catch (IOException e) {\r
-                log.warn("Failed to close http client!");\r
-            }\r
-        }\r
-    }\r
 \r
-    private HashMap<String, String> createHeaders() {\r
-        HashMap<String, String> headers = new HashMap<>();\r
-        headers.put("Content-Type", MediaType.APPLICATION_JSON);\r
-        headers.put("Accept", MediaType.APPLICATION_JSON);\r
-        return headers;\r
+    private String getRequestPref() {\r
+        return CommonUtils.isHttpsEnabled() ? JerseyClient.PROTOCOL_HTTPS : JerseyClient.PROTOCOL_HTTP;\r
     }\r
 \r
-    private String getRequestPref() {\r
-        return HttpsUtils.isHttpsEnabled() ? HTTPS : HTTP;\r
+    private String getUrl(String ip) {\r
+        return new StringBuilder(getRequestPref())\r
+                .append(SEP)\r
+                .append(ip)\r
+                .append(COLON)\r
+                .append(PORT)\r
+                .append(ENGINE_PATH)\r
+                .toString();\r
     }\r
 }\r
index 4fe5896..7c927c0 100644 (file)
@@ -1,5 +1,5 @@
 /**\r
- * Copyright 2017-2020 ZTE Corporation.\r
+ * Copyright 2017-2021 ZTE Corporation.\r
  * <p>\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
@@ -18,10 +18,8 @@ package org.onap.holmes.rulemgt.bolt.enginebolt;
 import com.google.gson.JsonObject;\r
 import com.google.gson.JsonParser;\r
 import lombok.extern.slf4j.Slf4j;\r
-import org.apache.http.HttpResponse;\r
 import org.jvnet.hk2.annotations.Service;\r
 import org.onap.holmes.common.exception.CorrelationException;\r
-import org.onap.holmes.common.utils.HttpsUtils;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
 import org.onap.holmes.rulemgt.constant.RuleMgtConstant;\r
@@ -36,16 +34,10 @@ public class EngineWrapper {
     private EngineService engineService;\r
 \r
     public String deployEngine(CorrelationDeployRule4Engine correlationRule, String ip) throws CorrelationException {\r
-        HttpResponse response;\r
-        try {\r
-            response = engineService.deploy(correlationRule, ip);\r
-        } catch (Exception e) {\r
-            throw new CorrelationException("Failed to call the rule deployment RESTful API.", e);\r
-        }\r
-        if (response.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
-            log.info("Succeeded in calling the rule deployment RESTful API from the engine management service.");\r
+        String response = engineService.deploy(correlationRule, ip);\r
+        if (response != null) {\r
             try {\r
-                JsonObject json = JsonParser.parseString(HttpsUtils.extractResponseEntity(response)).getAsJsonObject();\r
+                JsonObject json = JsonParser.parseString(response).getAsJsonObject();\r
                 return json.get(RuleMgtConstant.PACKAGE).getAsString();\r
             } catch (Exception e) {\r
                 throw new CorrelationException("Failed to parse the value returned by the engine management service.", e);\r
@@ -56,14 +48,7 @@ public class EngineWrapper {
     }\r
 \r
     public boolean deleteRuleFromEngine(String packageName, String ip) throws CorrelationException {\r
-        HttpResponse response;\r
-        try {\r
-            response = engineService.delete(packageName, ip);\r
-        } catch (Exception e) {\r
-            throw new CorrelationException("Failed to call the rule deleting RESTful API.", e);\r
-        }\r
-        if (response.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
-            log.info("Succeeded in calling the rule deleting RESTful API from the engine management service.");\r
+        if (engineService.delete(packageName, ip)) {\r
             return true;\r
         } else {\r
             throw new CorrelationException("Failed to delete the rule!");\r
@@ -73,18 +58,9 @@ public class EngineWrapper {
     public boolean checkRuleFromEngine(CorrelationCheckRule4Engine correlationCheckRule4Engine, String ip)\r
             throws CorrelationException {\r
         log.info("Rule Contents: " + correlationCheckRule4Engine.getContent());\r
-        HttpResponse response;\r
-        try {\r
-            response = engineService.check(correlationCheckRule4Engine, ip);\r
-        } catch (Exception e) {\r
-            throw new CorrelationException("Failed to call the rule verification RESTful API.", e);\r
-        }\r
-        if (response.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
-            log.info("Succeeded in calling the rule verification RESTful API from the engine management service.");\r
-            return true;\r
-        } else {\r
-            log.info(response.getStatusLine().getStatusCode() + " " + response.getEntity());\r
+        if (!engineService.check(correlationCheckRule4Engine, ip)) {\r
             throw new CorrelationException("Failed to verify the rule. The contents of the rule are invalid.");\r
         }\r
+        return true;\r
     }\r
 }\r
index e6bc790..036bd9a 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright 2017-2020 ZTE Corporation.
+ * Copyright 2017-2021 ZTE Corporation.
  * <p>
  * 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
 package org.onap.holmes.rulemgt.dcae;
 
 
-import com.google.gson.Gson;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
 import org.onap.holmes.common.dcae.DcaeConfigurationQuery;
 import org.onap.holmes.common.dcae.entity.DcaeConfigurations;
 import org.onap.holmes.common.dcae.entity.Rule;
 import org.onap.holmes.common.exception.CorrelationException;
-import org.onap.holmes.common.utils.GsonUtil;
-import org.onap.holmes.common.utils.HttpsUtils;
+import org.onap.holmes.common.utils.JerseyClient;
 import org.onap.holmes.common.utils.Md5Util;
 import org.onap.holmes.rulemgt.bean.request.RuleCreateRequest;
 import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse;
 import org.onap.holmes.rulemgt.bean.response.RuleResult4API;
 
+import javax.ws.rs.client.Entity;
 import javax.ws.rs.core.MediaType;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.HashMap;
 import java.util.List;
 
 @Slf4j
@@ -77,12 +67,8 @@ public class DcaeConfigurationPolling implements Runnable {
         if (dcaeConfigurations != null) {
             try {
                 ruleQueryListResponse = getAllCorrelationRules();
-            } catch (CorrelationException e) {
-                log.error("Failed to get right response!" + e.getMessage(), e);
-            } catch (IOException e) {
-                log.error("Failed to extract response entity. " + e.getMessage(), e);
             } catch (Exception e) {
-                log.error("Failed to build http client. " + e.getMessage(), e);
+                log.error("Failed to get deployed rules from the rule management module: " + e.getMessage(), e);
             }
         }
         if (ruleQueryListResponse != null) {
@@ -97,53 +83,17 @@ public class DcaeConfigurationPolling implements Runnable {
         }
     }
 
-    public RuleQueryListResponse getAllCorrelationRules() throws CorrelationException, IOException {
-        HashMap<String, String> headers = new HashMap<>();
-        headers.put("Content-Type", MediaType.APPLICATION_JSON);
-        CloseableHttpClient httpClient = null;
-        HttpGet httpGet = new HttpGet(url);
-        try {
-            httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
-            HttpResponse httpResponse = HttpsUtils.get(httpGet, headers, httpClient);
-            String response = HttpsUtils.extractResponseEntity(httpResponse);
-            return GsonUtil.jsonToBean(response, RuleQueryListResponse.class);
-        } finally {
-            httpGet.releaseConnection();
-            closeHttpClient(httpClient);
-        }
+    private RuleQueryListResponse getAllCorrelationRules() {
+        return new JerseyClient().get(url, RuleQueryListResponse.class);
     }
 
     private boolean addAllCorrelationRules(DcaeConfigurations dcaeConfigurations) throws CorrelationException {
         boolean suc = false;
         for (Rule rule : dcaeConfigurations.getDefaultRules()) {
             RuleCreateRequest ruleCreateRequest = getRuleCreateRequest(rule);
-            String content = "";
-            try {
-                content = GsonUtil.beanToJson(ruleCreateRequest);
-            } catch (Exception e) {
-                throw new CorrelationException("Failed to convert the message object to a json string.", e);
-            }
-            HashMap<String, String> headers = new HashMap<>();
-            headers.put("Content-Type", MediaType.APPLICATION_JSON);
-            headers.put("Accept", MediaType.APPLICATION_JSON);
-            HttpResponse httpResponse;
-            CloseableHttpClient httpClient = null;
-            HttpPut httpPut = new HttpPut(url);
-            try {
-                httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
-                httpResponse = HttpsUtils
-                        .put(httpPut, headers, new HashMap<>(), new StringEntity(content), httpClient);
-            } catch (UnsupportedEncodingException e) {
-                throw new CorrelationException("Failed to create https entity.", e);
-            } catch (Exception e) {
-                throw new CorrelationException(e.getMessage());
-            } finally {
-                httpPut.releaseConnection();
-                closeHttpClient(httpClient);
-            }
-            if (httpResponse != null) {
-                suc = httpResponse.getStatusLine().getStatusCode() == 200;
-            }
+            suc = new JerseyClient().header("Accept", MediaType.APPLICATION_JSON)
+                    .put(url, Entity.json(ruleCreateRequest)) != null;
+
             if (!suc) {
                 break;
             }
@@ -153,19 +103,8 @@ public class DcaeConfigurationPolling implements Runnable {
 
     private void deleteAllCorrelationRules(List<RuleResult4API> ruleResult4APIs) {
         ruleResult4APIs.forEach(correlationRule -> {
-            HashMap<String, String> headers = new HashMap<>();
-            headers.put("Content-Type", MediaType.APPLICATION_JSON);
-            CloseableHttpClient httpClient = null;
-            HttpDelete httpDelete = new HttpDelete(url + "/" + correlationRule.getRuleId());
-            try {
-                httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);
-                HttpsUtils.delete(httpDelete, headers, httpClient);
-            } catch (Exception e) {
-                log.warn("Failed to delete rule, the rule id is : " + correlationRule.getRuleId()
-                        + " exception messge is : " + e.getMessage(), e);
-            } finally {
-                httpDelete.releaseConnection();
-                closeHttpClient(httpClient);
+            if (null == new JerseyClient().delete(url + "/" + correlationRule.getRuleId())) {
+                log.warn("Failed to delete rule, the rule id is: {}", correlationRule.getRuleId());
             }
         });
     }
@@ -179,14 +118,4 @@ public class DcaeConfigurationPolling implements Runnable {
         ruleCreateRequest.setEnabled(1);
         return ruleCreateRequest;
     }
-
-    private void closeHttpClient(CloseableHttpClient httpClient) {
-        if (httpClient != null) {
-            try {
-                httpClient.close();
-            } catch (IOException e) {
-                log.warn("Failed to close http client!");
-            }
-        }
-    }
 }
index 3f071b3..120aba2 100644 (file)
@@ -28,7 +28,7 @@ import org.powermock.reflect.internal.WhiteboxImpl;
 
 @RunWith(PowerMockRunner.class)
 @PrepareForTest(MicroServiceConfig.class)
-@SuppressStaticInitializationFor("org.onap.holmes.common.utils.HttpsUtils")
+@SuppressStaticInitializationFor("org.onap.holmes.common.utils.CommonUtils")
 public class InitializerTest {
 
     @Test
@@ -38,7 +38,7 @@ public class InitializerTest {
 
         PowerMock.mockStaticPartial(MicroServiceConfig.class, "getMicroServiceIpAndPort", "getEnv");
         EasyMock.expect(MicroServiceConfig.getMicroServiceIpAndPort()).andReturn(new String[]{"127.0.0.1", "443"});
-        EasyMock.expect(MicroServiceConfig.getEnv("ENABLE_ENCRYPT")).andReturn("true");
+        System.setProperty("ENABLE_ENCRYPT", "true");
 
         mockedMsbRegister.register2Msb(EasyMock.anyObject(MicroServiceInfo.class));
         EasyMock.expectLastCall();
index e581699..aae62aa 100644 (file)
@@ -1,5 +1,5 @@
 /**\r
- * Copyright 2017 ZTE Corporation.\r
+ * Copyright 2017 - 2021 ZTE Corporation.\r
  * <p>\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
 \r
 package org.onap.holmes.rulemgt.bolt.enginebolt;\r
 \r
-\r
-import org.apache.http.HttpResponse;\r
-import org.apache.http.client.methods.CloseableHttpResponse;\r
-import org.apache.http.impl.client.CloseableHttpClient;\r
-import org.apache.http.impl.client.HttpClients;\r
 import org.junit.Before;\r
-import org.junit.Rule;\r
 import org.junit.Test;\r
-import org.junit.rules.ExpectedException;\r
 import org.junit.runner.RunWith;\r
-import org.onap.holmes.common.utils.HttpsUtils;\r
+import org.onap.holmes.common.utils.JerseyClient;\r
+import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
-import org.powermock.api.easymock.PowerMock;\r
-import org.powermock.core.classloader.annotations.PowerMockIgnore;\r
 import org.powermock.core.classloader.annotations.PrepareForTest;\r
+import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;\r
 import org.powermock.modules.junit4.PowerMockRunner;\r
-import org.powermock.reflect.Whitebox;\r
-\r
-import java.util.HashMap;\r
 \r
-import static org.hamcrest.MatcherAssert.assertThat;\r
+import static org.easymock.EasyMock.*;\r
 import static org.hamcrest.Matchers.equalTo;\r
+import static org.hamcrest.core.Is.is;\r
+import static org.junit.Assert.assertThat;\r
+import static org.powermock.api.easymock.PowerMock.createMock;\r
+import static org.powermock.api.easymock.PowerMock.*;\r
 \r
-@PrepareForTest({HttpClients.class, CloseableHttpClient.class, HttpsUtils.class})\r
-@PowerMockIgnore("javax.net.ssl.*")\r
 @RunWith(PowerMockRunner.class)\r
+@PrepareForTest(EngineService.class)\r
+@SuppressStaticInitializationFor({"org.onap.holmes.common.utils.JerseyClient"})\r
 public class EngineServiceTest {\r
 \r
-    @Rule\r
-    public ExpectedException thrown = ExpectedException.none();\r
-    private EngineService engineService;\r
-    private HttpResponse httpResponseMock;\r
-    private CloseableHttpClient closeableHttpClient;\r
-    private CorrelationDeployRule4Engine correlationDeployRule4Engine;\r
-    private CloseableHttpResponse closeableHttpResponseMock;\r
+    private EngineService engineService = new EngineService();\r
+    ;\r
 \r
     @Before\r
-    public void setUp() {\r
-        engineService = new EngineService();\r
-        closeableHttpClient = PowerMock.createMock(CloseableHttpClient.class);\r
-        httpResponseMock = PowerMock.createMock(HttpResponse.class);\r
-        closeableHttpResponseMock = PowerMock.createMock(CloseableHttpResponse.class);\r
-        correlationDeployRule4Engine = new CorrelationDeployRule4Engine();\r
-        correlationDeployRule4Engine.setContent("{\"package\":\"test\"}");\r
-        correlationDeployRule4Engine.setEngineId("engine_id");\r
+    public void setUp() throws Exception {\r
+        System.setProperty("ENABLE_ENCRYPT", "false");\r
     }\r
 \r
     @Test\r
-    public void testEngineService_createHeaders_ok() throws Exception {\r
-        PowerMock.resetAll();\r
-        HashMap<String, String> headers = Whitebox.invokeMethod(engineService, "createHeaders");\r
-        assertThat(headers.get("Content-Type"), equalTo("application/json"));\r
-        assertThat(headers.get("Accept"), equalTo("application/json"));\r
+    public void delete() throws Exception {\r
+        JerseyClient client = createMock(JerseyClient.class);\r
+        expectNew(JerseyClient.class).andReturn(client);\r
+        expect(client.path(anyString())).andReturn(client);\r
+        expect(client.delete(anyString())).andReturn("true");\r
+        replayAll();\r
+        assertThat(engineService.delete("test", "127.0.0.1"), is(true));\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
-    public void testEngineService_closeHttpClient_ok() throws Exception {\r
-        PowerMock.resetAll();\r
-        CloseableHttpClient closeableHttpClient = HttpsUtils\r
-                .getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT);\r
-        Whitebox.invokeMethod(engineService, "closeHttpClient", closeableHttpClient);\r
+    public void check() throws Exception {\r
+        JerseyClient client = createMock(JerseyClient.class);\r
+        expectNew(JerseyClient.class).andReturn(client);\r
+        expect(client.header(anyString(), anyString())).andReturn(client);\r
+        expect(client.post(anyString(), anyObject())).andReturn("true");\r
+\r
+        CorrelationCheckRule4Engine correlationCheckRule4Engine = new CorrelationCheckRule4Engine();\r
+        correlationCheckRule4Engine.setContent("{\"package\":\"test\"}");\r
+\r
+        replayAll();\r
+        assertThat(engineService.check(correlationCheckRule4Engine, "127.0.0.1"), is(true));\r
+        verifyAll();\r
     }\r
 \r
+    @Test\r
+    public void deploy() throws Exception {\r
+        JerseyClient client = createMock(JerseyClient.class);\r
+        expectNew(JerseyClient.class).andReturn(client);\r
+        expect(client.header(anyString(), anyString())).andReturn(client);\r
+        expect(client.put(anyString(), anyObject())).andReturn("true");\r
+\r
+        CorrelationDeployRule4Engine correlationDeployRule4Engine = new CorrelationDeployRule4Engine();\r
+        correlationDeployRule4Engine.setContent("{\"package\":\"test\"}");\r
+\r
+        replayAll();\r
+        assertThat(engineService.deploy(correlationDeployRule4Engine, "127.0.0.1"), equalTo("true"));\r
+        verifyAll();\r
+    }\r
 }
\ No newline at end of file
index 7296824..6bfb387 100644 (file)
@@ -1,12 +1,12 @@
 /**\r
- * Copyright 2017 ZTE Corporation.\r
- *\r
+ * Copyright 2017 - 2021 ZTE Corporation.\r
+ * <p>\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
+ * <p>\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * <p>\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
 package org.onap.holmes.rulemgt.bolt.enginebolt;\r
 \r
 \r
-import org.apache.http.HttpResponse;\r
-import org.apache.http.StatusLine;\r
-import org.easymock.EasyMock;\r
+import org.junit.After;\r
 import org.junit.Before;\r
 import org.junit.Rule;\r
 import org.junit.Test;\r
 import org.junit.rules.ExpectedException;\r
 import org.junit.runner.RunWith;\r
 import org.onap.holmes.common.exception.CorrelationException;\r
-import org.onap.holmes.common.utils.HttpsUtils;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
-import org.powermock.api.easymock.PowerMock;\r
-import org.powermock.core.classloader.annotations.PrepareForTest;\r
 import org.powermock.modules.junit4.PowerMockRunner;\r
 import org.powermock.reflect.Whitebox;\r
 \r
+import static org.easymock.EasyMock.*;\r
 import static org.hamcrest.MatcherAssert.assertThat;\r
 import static org.hamcrest.Matchers.equalTo;\r
+import static org.hamcrest.Matchers.is;\r
+import static org.powermock.api.easymock.PowerMock.*;\r
 \r
-@PrepareForTest({EngineWrapper.class, EngineService.class, HttpsUtils.class, HttpResponse.class,\r
-        StatusLine.class})\r
 @RunWith(PowerMockRunner.class)\r
 public class EngineWrapperTest {\r
 \r
     @Rule\r
     public ExpectedException thrown = ExpectedException.none();\r
+\r
     private EngineWrapper engineWrapper = new EngineWrapper();\r
-    private EngineService engineServiceMock;\r
-    private HttpResponse httpResponse;\r
-    private StatusLine statusLineMock;\r
+\r
+    private EngineService mockedEngineService;\r
 \r
     @Before\r
-    public void setUp() throws Exception {\r
-        engineServiceMock = PowerMock.createMock(EngineService.class);\r
-        httpResponse = PowerMock.createMock(HttpResponse.class);\r
-        statusLineMock = PowerMock.createMock(StatusLine.class);\r
-        Whitebox.setInternalState(engineWrapper, "engineService", engineServiceMock);\r
+    public void before() {\r
+        mockedEngineService = createMock(EngineService.class);\r
+        Whitebox.setInternalState(engineWrapper, "engineService", mockedEngineService);\r
     }\r
 \r
-    @Test\r
-    public void deployEngine_invoke_rule_deploy_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule deployment RESTful API.");\r
-\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andThrow(\r
-                        new RuntimeException(""));\r
-        PowerMock.replayAll();\r
-\r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
-\r
-        PowerMock.verifyAll();\r
+    @After\r
+    public void after() {\r
+        resetAll();\r
     }\r
 \r
     @Test\r
-    public void deployEngine_http_status_not_ok() throws Exception {\r
+    public void deployEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage("Failed to deploy the rule!");\r
 \r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400);\r
-        PowerMock.replayAll();\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn(null);\r
+\r
+        replayAll();\r
 \r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
+        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void deployEngine_parse_content_exception() throws Exception {\r
-        PowerMock.resetAll();\r
-        String content = "";\r
-        PowerMock.mockStatic(HttpsUtils.class);\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage(\r
                 "Failed to parse the value returned by the engine management service.");\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
-        EasyMock.expect(HttpsUtils.extractResponseEntity(httpResponse)).andReturn(content);\r
-        PowerMock.replayAll();\r
-\r
-        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
-\r
-        PowerMock.verifyAll();\r
-    }\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn("");\r
 \r
-    @Test\r
-    public void deployEngine_success() throws Exception {\r
-        PowerMock.resetAll();\r
-        String content = "{\"packageName\":\"test\"}";\r
-        PowerMock.mockStatic(HttpsUtils.class);\r
-        EasyMock.expect(\r
-                engineServiceMock.deploy(EasyMock.anyObject(CorrelationDeployRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
-        EasyMock.expect(HttpsUtils.extractResponseEntity(httpResponse)).andReturn(content);\r
-        PowerMock.replayAll();\r
-\r
-        String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(),"127.0.0.1");\r
+        replayAll();\r
 \r
-        assertThat(result, equalTo("test"));\r
+        engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
+        verifyAll();\r
     }\r
 \r
     @Test\r
-    public void deleteRuleFromEngine_invoke_rule_delete_exception() throws Exception {\r
-        thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule deleting RESTful API.");\r
+    public void deployEngine_success() throws Exception {\r
+        String content = "{\"packageName\":\"test\"}";\r
+        expect(mockedEngineService.deploy(anyObject(CorrelationDeployRule4Engine.class),\r
+                anyObject(String.class))).andReturn(content);\r
+\r
+        replayAll();\r
 \r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class))).andThrow(\r
-                new RuntimeException(""));\r
-        PowerMock.replayAll();\r
+        String result = engineWrapper.deployEngine(new CorrelationDeployRule4Engine(), "127.0.0.1");\r
 \r
-        engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        assertThat(result, equalTo("test"));\r
 \r
-        PowerMock.verifyAll();\r
     }\r
 \r
     @Test\r
-    public void deleteRuleFromEngine_http_status_not_ok() throws Exception {\r
+    public void deleteRuleFromEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
         thrown.expectMessage("Failed to delete the rule!");\r
 \r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400);\r
+        expect(mockedEngineService.delete(anyObject(String.class),\r
+                anyObject(String.class)))\r
+                .andReturn(false);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        engineWrapper.deleteRuleFromEngine("", "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void deleteRuleFromEngine_success() throws Exception {\r
-        EasyMock.expect(engineServiceMock.delete(EasyMock.anyObject(String.class),\r
-                EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
+        expect(mockedEngineService.delete(anyObject(String.class),\r
+                anyObject(String.class)))\r
+                .andReturn(true);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        boolean result = engineWrapper.deleteRuleFromEngine("","127.0.0.1");\r
+        boolean result = engineWrapper.deleteRuleFromEngine("", "127.0.0.1");\r
 \r
         assertThat(result, equalTo(true));\r
     }\r
 \r
     @Test\r
-    public void checkRuleFromEngine_rule_delete_exception() throws Exception {\r
+    public void checkRuleFromEngine_fail() throws Exception {\r
         thrown.expect(CorrelationException.class);\r
-        thrown.expectMessage("Failed to call the rule verification RESTful API.");\r
+        thrown.expectMessage("Failed to verify the rule. The contents of the rule are invalid.");\r
 \r
-        EasyMock.expect(\r
-                engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andThrow(\r
-                        new RuntimeException(""));\r
-        PowerMock.replayAll();\r
+        expect(\r
+                mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class),\r
+                        anyObject(String.class))).andReturn(false);\r
+        replayAll();\r
 \r
-        engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"127.0.0.1");\r
+        engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1");\r
 \r
-        PowerMock.verifyAll();\r
+        verifyAll();\r
     }\r
 \r
     @Test\r
     public void checkRuleFromEngine_success() throws Exception {\r
-        EasyMock.expect(\r
-                engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class),\r
-                        EasyMock.anyObject(String.class)))\r
-                .andReturn(httpResponse);\r
-        EasyMock.expect(httpResponse.getStatusLine()).andReturn(statusLineMock);\r
-        EasyMock.expect(statusLineMock.getStatusCode()).andReturn(200);\r
+        expect(mockedEngineService.check(anyObject(CorrelationCheckRule4Engine.class),anyString())).andReturn(true);\r
 \r
-        PowerMock.replayAll();\r
+        replayAll();\r
 \r
-        boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(),"127.0.0.1");\r
+        boolean result = engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine(), "127.0.0.1");\r
 \r
-        assertThat(result, equalTo(true));\r
+        assertThat(result, is(true));\r
     }\r
 }
\ No newline at end of file
index 6b640b2..b6e7149 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Copyright 2017-2020 ZTE Corporation.
+ * Copyright 2017-2021 ZTE Corporation.
  * <p>
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  */
 package org.onap.holmes.rulemgt.dcae;
 
-import org.apache.http.HttpResponse;
-import org.apache.http.StatusLine;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
-import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.onap.holmes.common.dcae.DcaeConfigurationQuery;
 import org.onap.holmes.common.dcae.entity.DcaeConfigurations;
 import org.onap.holmes.common.dcae.entity.Rule;
-import org.onap.holmes.common.utils.GsonUtil;
-import org.onap.holmes.common.utils.HttpsUtils;
+import org.onap.holmes.common.utils.JerseyClient;
 import org.onap.holmes.rulemgt.bean.response.RuleQueryListResponse;
 import org.onap.holmes.rulemgt.bean.response.RuleResult4API;
+import org.powermock.api.easymock.PowerMock;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
 import org.powermock.modules.junit4.PowerMockRunner;
 import org.powermock.reflect.Whitebox;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
-import static org.easymock.EasyMock.anyObject;
-import static org.easymock.EasyMock.expect;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.easymock.EasyMock.*;
 import static org.powermock.api.easymock.PowerMock.*;
 
-@PrepareForTest({HttpsUtils.class, DcaeConfigurationQuery.class})
-@SuppressStaticInitializationFor("org.onap.holmes.common.utils.HttpsUtils")
 @RunWith(PowerMockRunner.class)
+@SuppressStaticInitializationFor("org.onap.holmes.common.utils.JerseyClient")
+@PrepareForTest({DcaeConfigurationPolling.class, DcaeConfigurationQuery.class})
 public class DcaeConfigurationPollingTest {
 
-    @org.junit.Rule
-    public ExpectedException thrown = ExpectedException.none();
-
-
     @Test
     public void run() throws Exception {
         DcaeConfigurations dcaeConfigurations = new DcaeConfigurations();
@@ -69,7 +51,7 @@ public class DcaeConfigurationPollingTest {
         Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
 
         RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
-        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>(){
+        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
             {
                 add(new RuleResult4API());
             }
@@ -77,31 +59,16 @@ public class DcaeConfigurationPollingTest {
         ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
         ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
 
-        CloseableHttpClient clientMock = createMock(CloseableHttpClient.class);
-        HttpResponse httpResponseMock = createMock(HttpResponse.class);
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.get(anyObject(HttpGet.class), anyObject(HashMap.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        expect(HttpsUtils.extractResponseEntity(httpResponseMock)).andReturn(GsonUtil.beanToJson(ruleQueryListResponse));
-        clientMock.close();
-        expectLastCall();
-
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.delete(anyObject(HttpDelete.class), anyObject(HashMap.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        clientMock.close();
-        expectLastCall();
-
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.put(anyObject(HttpPut.class), anyObject(HashMap.class), anyObject(HashMap.class),
-                anyObject(StringEntity.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        clientMock.close();
-        expectLastCall();
-
-        StatusLine sl = createMock(StatusLine.class);
-        expect(httpResponseMock.getStatusLine()).andReturn(sl);
-        expect(sl.getStatusCode()).andReturn(200);
+        JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.delete(anyString())).andReturn("true");
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
 
         replayAll();
 
@@ -116,38 +83,28 @@ public class DcaeConfigurationPollingTest {
         dcaeConfigurations.addDefaultRule(new Rule("test", "clName", "contents", 1));
         mockStatic(DcaeConfigurationQuery.class);
         expect(DcaeConfigurationQuery.getDcaeConfigurations(anyObject(String.class))).andReturn(dcaeConfigurations).times(2);
-        DcaeConfigurationPolling dcaeConfigurationPolling = createPartialMock(DcaeConfigurationPolling.class,
-                "getAllCorrelationRules");
+        DcaeConfigurationPolling dcaeConfigurationPolling = new DcaeConfigurationPolling("localhost");
+
         Whitebox.setInternalState(dcaeConfigurationPolling, "url", "http://127.0.0.1");
 
         RuleQueryListResponse ruleQueryListResponse = new RuleQueryListResponse();
-        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>(){
+        List<RuleResult4API> ruleResult4APIList = new ArrayList<RuleResult4API>() {
             {
                 add(new RuleResult4API());
             }
         };
         ruleQueryListResponse.setCorrelationRules(ruleResult4APIList);
         ruleQueryListResponse.setTotalCount(ruleResult4APIList.size());
-        expect(dcaeConfigurationPolling.getAllCorrelationRules()).andReturn(ruleQueryListResponse);
-
-        CloseableHttpClient clientMock = createMock(CloseableHttpClient.class);
-        HttpResponse httpResponseMock = createMock(HttpResponse.class);
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.delete(anyObject(HttpDelete.class), anyObject(HashMap.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        clientMock.close();
-        expectLastCall();
-
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.put(anyObject(HttpPut.class), anyObject(HashMap.class), anyObject(HashMap.class),
-                anyObject(StringEntity.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        clientMock.close();
-        expectLastCall();
-
-        StatusLine sl = createMock(StatusLine.class);
-        expect(httpResponseMock.getStatusLine()).andReturn(sl);
-        expect(sl.getStatusCode()).andReturn(200);
+        JerseyClient mockedJerseyClient = PowerMock.createMock(JerseyClient.class);
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.get(anyString(), anyObject())).andReturn(ruleQueryListResponse);
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.delete(anyString())).andReturn("true");
+
+        PowerMock.expectNew(JerseyClient.class).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.header(anyString(), anyString())).andReturn(mockedJerseyClient);
+        expect(mockedJerseyClient.put(anyString(), anyObject())).andReturn("true");
 
         replayAll();
 
@@ -156,35 +113,4 @@ public class DcaeConfigurationPollingTest {
 
         verifyAll();
     }
-
-
-
-    @Test
-    public void getAllCorrelationRules() throws Exception {
-
-        CloseableHttpClient clientMock = createMock(CloseableHttpClient.class);
-        HttpResponse httpResponseMock = createMock(HttpResponse.class);
-        expect(HttpsUtils.getConditionalHttpsClient(30000)).andReturn(clientMock);
-        expect(HttpsUtils.get(anyObject(HttpGet.class), anyObject(HashMap.class), anyObject(CloseableHttpClient.class)))
-                .andReturn(httpResponseMock);
-        expect(HttpsUtils.extractResponseEntity(httpResponseMock)).andReturn("{\"correlationRules\": [], \"totalCount\": 0}");
-        clientMock.close();
-        expectLastCall();
-
-        replayAll();
-        DcaeConfigurationPolling daceConfigurationPolling = new DcaeConfigurationPolling("holmes-rule-mgmt");
-        RuleQueryListResponse response = daceConfigurationPolling.getAllCorrelationRules();
-        assertThat(response.getTotalCount(), is(0));
-        verifyAll();
-    }
-
-    @Before
-    public void setUp() {
-        mockStatic(HttpsUtils.class);
-    }
-
-    @After
-    public void tearDown() {
-        resetAll();
-    }
 }
\ No newline at end of file