差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:wiremock:record-disconnection-behavior [2021/08/09 12:26]
tony [方法1]
java:wiremock:record-disconnection-behavior [2023/06/25 09:48] (目前版本)
行 14: 行 14:
 {{:​java:​wiremock:​wm_test_connection_reset_and_get_500_error_code.png|}}\\ {{:​java:​wiremock:​wm_test_connection_reset_and_get_500_error_code.png|}}\\
 \\ \\
-這導致SUT接到非預期的500 status code,使工作的執行無法順利完成。本篇文章主要分享我的解決方法。+這導致SUT接到非預期的500 status code,使工作的執行無法順利完成。本篇文章主要分享我的解決方法。(code: [[https://​github.com/​frank007love/​wiremock-redfish|link]])
 ===== How to? ===== ===== How to? =====
 (對嘗試過程沒興趣可以直接看方法2) (對嘗試過程沒興趣可以直接看方法2)
行 47: 行 47:
     @Override     @Override
     public Response transform(Request request, Response response, FileSource files, Parameters parameters) {     public Response transform(Request request, Response response, FileSource files, Parameters parameters) {
-    if(response.getStatus()==500&&​response.getBodyAsString().contains("​timed out")) {+    if(response.getStatus()==500&&​response.getBodyAsString().contains("​Network failure")) {
     return Response.Builder.like(response)     return Response.Builder.like(response)
     .body(String.valueOf(Fault.CONNECTION_RESET_BY_PEER))     .body(String.valueOf(Fault.CONNECTION_RESET_BY_PEER))
行 78: 行 78:
  
     private Fault getFault(ResponseDefinition responseDef) {     private Fault getFault(ResponseDefinition responseDef) {
-    String body = Objects.toString(responseDef.getBody(), ""​);​+    String body = Objects.toString(new String(responseDef.getByteBody()), ""​);​
     try {     try {
  return Fault.valueOf(body);​  return Fault.valueOf(body);​