// Path: common/src/main/java/cz/gopay/api/v3/GPClientException.java
// public class GPClientException extends Exception {
// 
//     private final int httpResultCode;
//     private final APIError error;
// 
//     public GPClientException(int httpResultCode, APIError error) {
//         this.error = error;
//         this.httpResultCode = httpResultCode;
//     }
// 
//     public APIError getError() {
//         return error;
//     }
// 
//     public Date getDateIssued() {
//         return error.getDateIssued();
//     }
// 
//     public List<ErrorElement> getErrorMessages() {
//         if (error.getErrorMessages() == null) 
//             return Collections.EMPTY_LIST;
//         return error.getErrorMessages();
//     }
// 
//     public String extractMessage() {
//         StringBuilder sb = new StringBuilder();
//         for (ErrorElement msg : getErrorMessages()) {
//             sb.append("RC[").append(httpResultCode).append("]");
//             if (msg.getField() != null) {
//                 sb.append("Field: ").append(msg.getField());
//             }
//             if (msg.getErrorName() != null) {
//                 sb.append(" Name: ").append(msg.getErrorName()).append("[").append(msg.getErrorCode()).append("]");
//             }
//             if (msg.getMessage() != null) {
//                 sb.append(" Msg: ").append(msg.getMessage());
//             }
//             if (msg.getDescription() != null) {
//                 sb.append(" Desc: ").append(msg.getDescription());
//             }
//         }
//         return sb.toString();
//     }
// }
// 
// Path: common/src/main/java/cz/gopay/api/v3/model/ErrorElement.java
// @XmlAccessorType(XmlAccessType.NONE)
// public class ErrorElement {
// 
//     @XmlElement(name = "scope")
//     private ErrorScope scope;
// 
//     @XmlElement(name = "field")
//     private String field;
// 
//     @XmlElement(name = "error_code")
//     private int errorCode;
// 
//     @XmlElement(name = "error_name")
//     private String errorName;
// 
//     @XmlElement(name = "message")
//     private String message;
// 
//     @XmlElement(name = "description")
//     private String description;
// 
//     public ErrorElement() {
//     }
// 
//     public ErrorElement(String errorName, int errorCode, String message,
//             String description) {
//         super();
//         this.scope = ErrorScope.G;
//         this.errorCode = errorCode;
//         this.errorName = errorName;
//         this.message = message;
//         this.description = description;
//     }
// 
//     public ErrorElement(String errorName, int errorCode, String field,
//             String message, String description) {
//         super();
//         this.scope = ErrorScope.F;
//         this.field = field;
//         this.errorCode = errorCode;
//         this.errorName = errorName;
//         this.message = message;
//         this.description = description;
//     }
// 
//     public ErrorScope getScope() {
//         return scope;
//     }
// 
//     public String getField() {
//         return field;
//     }
// 
//     public int getErrorCode() {
//         return errorCode;
//     }
// 
//     public String getErrorName() {
//         return errorName;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
// }


import cz.gopay.api.v3.GPClientException;
import cz.gopay.api.v3.model.ErrorElement;
import java.util.List;
import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.Assertions;
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package test.utils;


/**
 *
 * @author František Sichinger
 */
public class TestUtils {

    public static final String API_URL = "https://gw.sandbox.gopay.com/api";
    public static final String CLIENT_ID = "1744960415";
    public static final String CLIENT_SECRET = "h9wyRz2s";
    public static final Long GOID = 8339303643L;
  // public static final String API_URL = "http://gopay-gw:8180/gp/api";
  // public static final String CLIENT_ID = "app@musicshop.cz";
  // public static final String CLIENT_SECRET = "VpnJVcTn";
  // public static final Long GOID = 8761908826L;
    
// Path: common/src/main/java/cz/gopay/api/v3/GPClientException.java
// public class GPClientException extends Exception {
// 
//     private final int httpResultCode;
//     private final APIError error;
// 
//     public GPClientException(int httpResultCode, APIError error) {
//         this.error = error;
//         this.httpResultCode = httpResultCode;
//     }
// 
//     public APIError getError() {
//         return error;
//     }
// 
//     public Date getDateIssued() {
//         return error.getDateIssued();
//     }
// 
//     public List<ErrorElement> getErrorMessages() {
//         if (error.getErrorMessages() == null) 
//             return Collections.EMPTY_LIST;
//         return error.getErrorMessages();
//     }
// 
//     public String extractMessage() {
//         StringBuilder sb = new StringBuilder();
//         for (ErrorElement msg : getErrorMessages()) {
//             sb.append("RC[").append(httpResultCode).append("]");
//             if (msg.getField() != null) {
//                 sb.append("Field: ").append(msg.getField());
//             }
//             if (msg.getErrorName() != null) {
//                 sb.append(" Name: ").append(msg.getErrorName()).append("[").append(msg.getErrorCode()).append("]");
//             }
//             if (msg.getMessage() != null) {
//                 sb.append(" Msg: ").append(msg.getMessage());
//             }
//             if (msg.getDescription() != null) {
//                 sb.append(" Desc: ").append(msg.getDescription());
//             }
//         }
//         return sb.toString();
//     }
// }
// 
// Path: common/src/main/java/cz/gopay/api/v3/model/ErrorElement.java
// @XmlAccessorType(XmlAccessType.NONE)
// public class ErrorElement {
// 
//     @XmlElement(name = "scope")
//     private ErrorScope scope;
// 
//     @XmlElement(name = "field")
//     private String field;
// 
//     @XmlElement(name = "error_code")
//     private int errorCode;
// 
//     @XmlElement(name = "error_name")
//     private String errorName;
// 
//     @XmlElement(name = "message")
//     private String message;
// 
//     @XmlElement(name = "description")
//     private String description;
// 
//     public ErrorElement() {
//     }
// 
//     public ErrorElement(String errorName, int errorCode, String message,
//             String description) {
//         super();
//         this.scope = ErrorScope.G;
//         this.errorCode = errorCode;
//         this.errorName = errorName;
//         this.message = message;
//         this.description = description;
//     }
// 
//     public ErrorElement(String errorName, int errorCode, String field,
//             String message, String description) {
//         super();
//         this.scope = ErrorScope.F;
//         this.field = field;
//         this.errorCode = errorCode;
//         this.errorName = errorName;
//         this.message = message;
//         this.description = description;
//     }
// 
//     public ErrorScope getScope() {
//         return scope;
//     }
// 
//     public String getField() {
//         return field;
//     }
// 
//     public int getErrorCode() {
//         return errorCode;
//     }
// 
//     public String getErrorName() {
//         return errorName;
//     }
// 
//     public String getMessage() {
//         return message;
//     }
// 
//     public String getDescription() {
//         return description;
//     }
// 
// }


// Path: common-tests/src/main/java/test/utils/TestUtils.java
import cz.gopay.api.v3.GPClientException;
import cz.gopay.api.v3.model.ErrorElement;
import java.util.List;
import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.Assertions;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package test.utils;


/**
 *
 * @author František Sichinger
 */
public class TestUtils {

    public static final String API_URL = "https://gw.sandbox.gopay.com/api";
    public static final String CLIENT_ID = "1744960415";
    public static final String CLIENT_SECRET = "h9wyRz2s";
    public static final Long GOID = 8339303643L;
  // public static final String API_URL = "http://gopay-gw:8180/gp/api";
  // public static final String CLIENT_ID = "app@musicshop.cz";
  // public static final String CLIENT_SECRET = "VpnJVcTn";
  // public static final Long GOID = 8761908826L;
    
    public static void handleException(GPClientException e, Logger logger) {