Fixed HTTP PATCH Failures 19/63919/1
authorGuangrongFu <fu.guangrong@zte.com.cn>
Fri, 31 Aug 2018 00:51:17 +0000 (08:51 +0800)
committerGuangrongFu <fu.guangrong@zte.com.cn>
Fri, 31 Aug 2018 00:51:17 +0000 (08:51 +0800)
Change-Id: I0f71aeb78e31e0b66fea0d6c3bb941ef702277e5
Issue-ID: HOLMES-160
Signed-off-by: GuangrongFu <fu.guangrong@zte.com.cn>
holmes-actions/pom.xml
holmes-actions/src/main/java/org/onap/holmes/common/aai/AaiQuery4Ccvpn.java
holmes-actions/src/test/java/org/onap/holmes/common/aai/AaiQuery4CcvpnTest.java
pom.xml

index d5f5d59..d9d2fc3 100644 (file)
         <dependency>\r
             <groupId>org.glassfish.jersey.containers</groupId>\r
             <artifactId>jersey-container-servlet-core</artifactId>\r
-            <version>${jersey.version}</version>\r
         </dependency>\r
         <dependency>\r
             <groupId>org.glassfish.jersey.core</groupId>\r
             <artifactId>jersey-common</artifactId>\r
         </dependency>\r
+        <dependency>\r
+            <groupId>org.glassfish.jersey.core</groupId>\r
+            <artifactId>jersey-client</artifactId>\r
+        </dependency>\r
         <dependency>\r
             <groupId>org.apache.httpcomponents</groupId>\r
             <artifactId>httpclient</artifactId>\r
index 75b1bfc..0e444c1 100644 (file)
@@ -28,6 +28,7 @@ import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.core.MultivaluedHashMap;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.Response;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.regex.Matcher;
@@ -237,7 +238,8 @@ public class AaiQuery4Ccvpn {
     private Response patch(String host, String path, Map<String, Object> body) {
         Client client = ClientBuilder.newClient();
         WebTarget target = client.target(host).path(path);
-        return target.request().headers(getAaiHeaders()).method("PATCH", Entity.json(body));
+        return target.request().headers(getAaiHeaders()).build("PATCH", Entity.json(body))
+                .property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true).invoke();
     }
 
     private JSONObject getInfo(String response, String pField, String field) {
index ef12982..43cb517 100644 (file)
@@ -17,6 +17,7 @@ package org.onap.holmes.common.aai;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.easymock.EasyMock;
+import org.glassfish.jersey.client.HttpUrlConnectorProvider;
 import org.junit.*;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
@@ -36,6 +37,7 @@ import java.io.*;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.HashMap;
+import java.util.Map;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.junit.Assert.assertThat;
@@ -235,7 +237,7 @@ public class AaiQuery4CcvpnTest {
 
         PowerMock.replayAll();
 
-        JSONArray instances = (JSONArray)Whitebox.invokeMethod(aai, "getServiceInstances",
+        JSONArray instances = (JSONArray) Whitebox.invokeMethod(aai, "getServiceInstances",
                 "custom-1", "service-type-1");
 
         PowerMock.verifyAll();
@@ -255,7 +257,7 @@ public class AaiQuery4CcvpnTest {
 
         PowerMock.replayAll();
 
-        JSONArray instances = (JSONArray)Whitebox.invokeMethod(aai, "getServiceInstances",
+        JSONArray instances = (JSONArray) Whitebox.invokeMethod(aai, "getServiceInstances",
                 "custom-1", "service-type-1");
 
         PowerMock.verifyAll();
@@ -325,7 +327,10 @@ public class AaiQuery4CcvpnTest {
 
     private void mockPatchMethod() {
         initCommonMock();
-        EasyMock.expect(builder.method(EasyMock.anyObject(String.class), EasyMock.anyObject(Entity.class))).andReturn(response);
+        Invocation invocation = PowerMock.createMock(Invocation.class);
+        EasyMock.expect(builder.build(EasyMock.anyObject(String.class), EasyMock.anyObject(Entity.class))).andReturn(invocation);
+        EasyMock.expect(invocation.property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true)).andReturn(invocation);
+        EasyMock.expect(invocation.invoke()).andReturn(response);
     }
 
     private void initCommonMock() {
diff --git a/pom.xml b/pom.xml
index bacc2c9..e342997 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                 <artifactId>msb-java-sdk</artifactId>\r
                 <version>1.1.1</version>\r
             </dependency>\r
+            <dependency>\r
+                <groupId>org.glassfish.jersey.containers</groupId>\r
+                <artifactId>jersey-container-servlet-core</artifactId>\r
+                <version>${jersey.version}</version>\r
+            </dependency>\r
             <dependency>\r
                 <groupId>org.glassfish.jersey.core</groupId>\r
                 <artifactId>jersey-common</artifactId>\r
                 <version>${jersey.version}</version>\r
-                <scope>test</scope>\r
             </dependency>\r
             <dependency>\r
                 <groupId>org.glassfish.jersey.core</groupId>\r
                 <artifactId>jersey-client</artifactId>\r
                 <version>${jersey.version}</version>\r
-                <scope>test</scope>\r
             </dependency>\r
             <dependency>\r
                 <groupId>io.dropwizard</groupId>\r