test: cat 单元测试方法

main
13009 2024-06-20 17:13:16 +08:00
parent 2b7109c55a
commit e67c8567e0
13 changed files with 1476 additions and 0 deletions

View File

@ -0,0 +1,94 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.util.PemFile;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
/**
* @author wangwei
* @date 2024/2/20
*/
public final class KeyText {
public static final String PRIVATE_TEXT_SM2 = "-----BEGIN PRIVATE KEY-----\n" +
"MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgEbNA+Qs8+nMspo7ikBiR9KRl8nc2\n" +
"DL337j+2lmK9McCgCgYIKoEcz1UBgi2hRANCAAR3JQFY2SNjXJIwwQVfa3v+fjpUpi+CYAWJ1Umo\n" +
"/AjGWv28USDdp9nmBzj2Y+ts+iFbt5vTOoO+8z4L5ybEnKJ4\n" +
"-----END PRIVATE KEY-----";
public static final String CERTIFICATE_TEXT_SM2 = "-----BEGIN CERTIFICATE-----\n" +
"MIICKTCCAc+gAwIBAgIhALR78lDRPW3HLShp00DN+Lgw8s/TILZSWGw9SGH4bKNVMAoGCCqBHM9V\n" +
"AYN1MIGNMQswCQYDVQQGEwJDTjESMBAGA1UECAwJ5rWZ5rGf55yBMRIwEAYDVQQHDAnmna3lt57l\n" +
"uIIxITAfBgNVBAoMGOa1meaxn+eooOW3nuWVhuS4mumTtuihjDEYMBYGA1UECwwP5pWw5a2X6YeR\n" +
"6J6N6YOoMRkwFwYDVQQDDBBzY2ZzLmN6Y2IuY29tLmNuMB4XDTI0MDIyMDAzMzgxOVoXDTI5MDIy\n" +
"MDAzMzgxOVowgY0xCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnmtZnmsZ/nnIExEjAQBgNVBAcMCead\n" +
"reW3nuW4gjEhMB8GA1UECgwY5rWZ5rGf56ig5bee5ZWG5Lia6ZO26KGMMRgwFgYDVQQLDA/mlbDl\n" +
"rZfph5Hono3pg6gxGTAXBgNVBAMMEHNjZnMuY3pjYi5jb20uY24wWTATBgcqhkjOPQIBBggqgRzP\n" +
"VQGCLQNCAAR3JQFY2SNjXJIwwQVfa3v+fjpUpi+CYAWJ1Umo/AjGWv28USDdp9nmBzj2Y+ts+iFb\n" +
"t5vTOoO+8z4L5ybEnKJ4MAoGCCqBHM9VAYN1A0gAMEUCIQCx+TJJMHj5BZuylFt5pJaFrvJj9NaH\n" +
"ggiLQndrrMctYgIgdhZLUVIZdVdmR0zMv3OWmeiI71B1d/80XLkISQF/qvg=\n" +
"-----END CERTIFICATE-----";
public static final String PRIVATE_TEXT_RSA = "-----BEGIN PRIVATE KEY-----\n" +
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDDwbOmleN4X6YD\n" +
"iTUk5tuFhhqJYGIdSBb7x14E5OCd/2UIxx8l/tF162rAlPeYquHM34mi1Ha0Ana9\n" +
"6ttMNMDMyq3TBUxq7n8H0pLU8fboCorU83owRj4Eqrfk7tG0cMgeUmrYbaTXPD5d\n" +
"lRvKdpFxN1UNRav+mYUb1OPxoHuJRxoeRGAm/RWC1nTj9UYeAQQKehb5FhWD3UBL\n" +
"Cxk0iXgPrfykkZDeLeUI9fA+dzEDnrHDmz+jt9fQnup3RVku7/n1DQQyCOUDOn24\n" +
"NGfBXciDeivJ3/bZ1SJy5t/4Hu6GyqyJKqP3Oe9UAbkbZWOnIu186R6e7NBk5n/+\n" +
"HgDf17CLAgMBAAECggEAOyoOoZEYxHdoJhZwlPwfKe57k7ypOr9gju1VObZxOt+H\n" +
"Sk1gWSv4Y6Loy1batG4lO7XuE+QSElrSR5k1eYVSJjM1sRsfWwxFIXifvzN4U+5n\n" +
"wm/qJK/+K4vrc4pIoDgcC6oON+Z/lTvUf5VC5oDKeYTnNFEz6Am/RMelsxA1diob\n" +
"SNSwPTPijqy0b63IHSWAbB+zmurRZPOSzy5lZ2F+xdYhnF+j9XprP4iJiHydvrgH\n" +
"RJbxwsiphjgPeqPSVSs5MTQ0zDumRkbMBANk/Y5rCGybBSGpW1BwXZjTp3jtY9Tr\n" +
"DmXDbzsiZWx/D1wFd0F+BhS6vg3dUkX63mSDOaTvKQKBgQDpLcwdAkhvWbRs03ev\n" +
"5/BgmgHO2iwJkAL6yyX9wox4NOYe1FInBht5Nc/ZC0mXy5E4Wmd1SGAoYt8R2vxo\n" +
"LnIyJnRE4iUKWxL87okKCDW4b3AaMTMZXyKmkMgMPDvpk6Odag5Ey2xpojb8TP7q\n" +
"QtZu5DWTkU2lR+2Z4qH8+DFC2QKBgQDW6k4guiR0ZP7Po1QLQWXwRfQU4WUlxaKp\n" +
"MEp6hsdKRN2MPbbPqtg4PoBpc1Hpvx2SX3YGAaRIwJtLGuoOq4TnVJ+9SKI5VDqT\n" +
"YcjE4UZm1DDmm1XYaCJKYeN2Swr2xl2VA6LJpHHZDLXC7YVshZ/53lJhPTbnBpIE\n" +
"0T+MBCIoAwKBgAtSS+zEpZuycU4vXkpOKp+mGpxef3DfayWeI3QUtBlKCDpK+Moo\n" +
"Q8E42aSiJaqXGa/ww8EwCGstkcMeLM8qIiVJNK/7guzjyyI4urKf/2u7DWhYJzD+\n" +
"K4KG2Q+vBQGsR29nLNYuQk9GrwDFBEN/h0XPEsLddTWnLmQgWtkbe9jRAoGBAIAj\n" +
"dW+37HJloTPl+v82//ORkeU9OlSaEND1lQKXB431n261gSEyiPaH9YJqGqXWqGgU\n" +
"eMc+BVjHVhAivPkANR7EavWtr+Okn8QuIkmY06QN0hY8+aMs+30D/l4Sgjf+r99g\n" +
"Kpg1bxftpxXRDqNUzLxrXQzTNb/rP/aVWGFAOalHAoGAPiW3cKvfTOLIS0PFxGOF\n" +
"EKQzr/TDGnKJNKeGJ25VOKPnq8RDX/Ik2+hNjdThOWApIgDQo4JtUMCxCDM7lRcu\n" +
"ne9B/UShSzd8uuZgHZVSFD+pfPJvyVpZ/ORHvrQqUAtveQgk7Cpp2tuvsixbBhdQ\n" +
"E6ZWsef5uyYdyjLp2C4cl2A=\n" +
"-----END PRIVATE KEY-----\n";
public static final String CERTIFICATE_TEXT_RSA = "-----BEGIN CERTIFICATE-----\n" +
"MIIDyzCCArOgAwIBAgIUBs3aqSytdZmDJQJ2R4RzMMF1YpEwDQYJKoZIhvcNAQEL\n" +
"BQAwgY0xCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAnmtZnmsZ/nnIExEjAQBgNVBAcM\n" +
"CeadreW3nuW4gjEhMB8GA1UECgwY5rWZ5rGf56ig5bee5ZWG5Lia6ZO26KGMMRgw\n" +
"FgYDVQQLDA/mlbDlrZfph5Hono3pg6gxGTAXBgNVBAMMEHNjZnMuY3pjYi5jb20u\n" +
"Y24wHhcNMjQwMjEzMDk1MjQwWhcNMzQwMjEwMDk1MjQwWjCBjTELMAkGA1UEBhMC\n" +
"Q04xEjAQBgNVBAgMCea1meaxn+ecgTESMBAGA1UEBwwJ5p2t5bee5biCMSEwHwYD\n" +
"VQQKDBjmtZnmsZ/nqKDlt57llYbkuJrpk7booYwxGDAWBgNVBAsMD+aVsOWtl+mH\n" +
"keiejemDqDEZMBcGA1UEAwwQc2Nmcy5jemNiLmNvbS5jbjCCASIwDQYJKoZIhvcN\n" +
"AQEBBQADggEPADCCAQoCggEBAMPBs6aV43hfpgOJNSTm24WGGolgYh1IFvvHXgTk\n" +
"4J3/ZQjHHyX+0XXrasCU95iq4czfiaLUdrQCdr3q20w0wMzKrdMFTGrufwfSktTx\n" +
"9ugKitTzejBGPgSqt+Tu0bRwyB5SathtpNc8Pl2VG8p2kXE3VQ1Fq/6ZhRvU4/Gg\n" +
"e4lHGh5EYCb9FYLWdOP1Rh4BBAp6FvkWFYPdQEsLGTSJeA+t/KSRkN4t5Qj18D53\n" +
"MQOescObP6O319Ce6ndFWS7v+fUNBDII5QM6fbg0Z8FdyIN6K8nf9tnVInLm3/ge\n" +
"7obKrIkqo/c571QBuRtlY6ci7XzpHp7s0GTmf/4eAN/XsIsCAwEAAaMhMB8wHQYD\n" +
"VR0OBBYEFPxZwIS1s2a+59+F4mEvMwf01exmMA0GCSqGSIb3DQEBCwUAA4IBAQBE\n" +
"5FuyVUFm4hRxsO8Jl412lxEvtMtgB3QT0mj0+SWVAp/Cb7Jh3yqkszmnx3CC64lB\n" +
"OzfU8rsQMu+R8NoBEUIO03vD9DhozYE67iUcmzwKil6IwedA8QxzL/UZpbf/1SqC\n" +
"Vf4/z0a2dZO7ys/WYPJh+bxsiB5UIfmhnNDIKQoOMrFEzkxz6KHpNXQGt0fj7ugd\n" +
"8HPSkDtYBoCluI9YfWeOazmVAVZxhpLSMi+6NzVwdXjOdKTgxAYMkXIdtPKLiC0z\n" +
"zycbiBuKN7tL/NtHfpYQ1noakUahMzw1XvUNTs47PIaDgqG+mjZR3hRRKQq3iNHy\n" +
"pwDwvSima1XX0KnrzLg+\n" +
"-----END CERTIFICATE-----\n";
public static PrivateKey loadTestPrivateKeyRSA() {
return PemFile.loadPrivateKeyFromString(PRIVATE_TEXT_RSA);
}
public static X509Certificate loadTestRSA() {
return PemFile.loadX509FromString(CERTIFICATE_TEXT_RSA);
}
}

View File

@ -0,0 +1,87 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.ApiClient;
import com.czcb.scfs.api.core.DefaultChannel;
import com.czcb.scfs.api.core.Profile;
import com.czcb.scfs.api.core.cipher.*;
import com.czcb.scfs.api.core.http.ApiClientBuilder;
import com.czcb.scfs.api.core.http.DefaultHttpProfile;
import com.czcb.scfs.api.core.http.LogLevel;
import com.czcb.scfs.api.core.util.DateTimes;
import com.czcb.scfs.api.core.util.Nonce;
import com.czcb.scfs.api.core.util.Strings;
import org.mockserver.model.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.List;
import static com.czcb.scfs.api.core.Constants.*;
import static org.mockserver.model.HttpResponse.response;
public class MockResponse {
private static ApiClient apiClient;
public static ApiClient getApiClient() {
if (apiClient == null) {
apiClient = ApiClientBuilder.custom()
.profile(profile())
.build();
}
return apiClient;
}
private static Profile profile() {
PrivateKey privateKey = KeyText.loadTestPrivateKeyRSA();
X509Certificate certificate = KeyText.loadTestRSA();
List<X509Certificate> list = new ArrayList<>();
list.add(certificate);
CertificateProvider certificateProvider = new LocalCertificateProvider(list);
Privacy privacy = new TestPrivacy(privateKey, certificateProvider);
Signature signature = new DefaultSignature(certificateProvider, new TestSigner(privateKey, "6CDDAA92CAD75998325027647847330C1756291"), new TestVerifier(certificateProvider));
return new TestProfile(
privacy, signature, new DefaultChannel.Builder()
.channelNo("0000")
.appNo("100000")
.build(), new DefaultHttpProfile.Builder()
.online(false)
.logLevel(LogLevel.BASIC)
.compressionEnabled(false)
.host("http://127.0.0.1:8888")
.build()
);
}
public static HttpResponse mock(String body) {
// 对称密钥
byte[] secret = getApiClient().getProfile().getPrivacy().getSecretCipher().getSecretKey();
// 加密响应报文
String responseBody = getApiClient().getProfile().getPrivacy().getSecretCipher().encrypt(secret, body.getBytes(StandardCharsets.UTF_8));
// 加密对称密钥
String secretKey = getApiClient().getProfile().getPrivacy().getEncryptor().encrypt(Strings.toStr(secret));
HttpResponse mock = response()
.withBody(responseBody)
.withHeader(NONCE, Nonce.ofNonce())
.withHeader(SECRET_KEY, secretKey)
.withHeader(REQUEST_ID, Nonce.ofNonce())
.withHeader(BANK_CERTIFICATE_SERIAL, "6CDDAA92CAD75998325027647847330C1756291")
.withHeader(CHANNEL_CERTIFICATE_SERIAL, "6CDDAA92CAD75998325027647847330C1756291")
.withHeader(TIMESTAMP, DateTimes.ofTimestamp());
String buildAuth = NONCE + "=" + mock.getHeader(NONCE).get(0) + "," +
TIMESTAMP + "=" + mock.getHeader(TIMESTAMP).get(0) + "," +
BANK_CERTIFICATE_SERIAL + "=" + mock.getHeader(BANK_CERTIFICATE_SERIAL).get(0) + "," +
CHANNEL_CERTIFICATE_SERIAL + "=" + mock.getHeader(CHANNEL_CERTIFICATE_SERIAL).get(0) + "," +
SECRET_KEY + "=" + secretKey;
String message = buildAuth + "\n" + responseBody + "\n";
mock.withHeader(SIGNATURE, apiClient.getProfile().getSignature().getSigner().sign(message).getSignature());
return mock;
}
}

View File

@ -0,0 +1,27 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.ApiResponse;
import com.czcb.scfs.api.core.http.HttpMethod;
import com.czcb.scfs.api.core.http.HttpRequest;
import com.czcb.scfs.api.core.http.HttpResponse;
import com.czcb.scfs.api.core.http.OriginalResponse;
/**
* @author wangwei
* @date 2024/4/18
*/
public class TestHttpResponse {
public static <T> HttpResponse<T> create(String url, ApiResponse apiResponse, Class<T> responseType) {
return new HttpResponse.Builder<T>()
.serviceResponseType(responseType)
.originalResponse(new OriginalResponse.Builder()
.request(new HttpRequest.Builder()
.url(url)
.httpMethod(HttpMethod.POST)
.build())
.body(apiResponse.toJsonResponse().getBody())
.build())
.build();
}
}

View File

@ -0,0 +1,35 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.*;
import java.security.PrivateKey;
public class TestPrivacy implements Privacy {
// 对称加密/解密器
private final SecretCipher secretCipher;
// 非对称加密器
private final PrivacyEncryptor privacyEncryptor;
// 非对称解密器
private final PrivacyDecryptor privacyDecryptor;
public TestPrivacy(PrivateKey privateKey, CertificateProvider certificateProvider) {
this.secretCipher = new TestSecretCipher();
this.privacyEncryptor = new TestPrivacyEncryptor(certificateProvider.getAvailableCertificate().getPublicKey());
this.privacyDecryptor = new TestPrivacyDecryptor(privateKey);
}
@Override
public SecretCipher getSecretCipher() {
return secretCipher;
}
@Override
public PrivacyEncryptor getEncryptor() {
return privacyEncryptor;
}
@Override
public PrivacyDecryptor getDecryptor() {
return privacyDecryptor;
}
}

View File

@ -0,0 +1,16 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.AbstractPrivacyDecryptor;
import java.security.PrivateKey;
public class TestPrivacyDecryptor extends AbstractPrivacyDecryptor {
/**
*
*
* @param privateKey 使
*/
protected TestPrivacyDecryptor(PrivateKey privateKey) {
super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", privateKey, null);
}
}

View File

@ -0,0 +1,16 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.AbstractPrivacyEncryptor;
import java.security.PublicKey;
public class TestPrivacyEncryptor extends AbstractPrivacyEncryptor {
/**
*
*
* @param publicKey 使
*/
protected TestPrivacyEncryptor(PublicKey publicKey) {
super("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", publicKey, null, "");
}
}

View File

@ -0,0 +1,13 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.AbstractProfile;
import com.czcb.scfs.api.core.Channel;
import com.czcb.scfs.api.core.cipher.Privacy;
import com.czcb.scfs.api.core.cipher.Signature;
import com.czcb.scfs.api.core.http.HttpProfile;
public class TestProfile extends AbstractProfile {
public TestProfile(Privacy privacy, Signature signature, Channel channel, HttpProfile httpProfile) {
super(privacy, signature, channel, httpProfile);
}
}

View File

@ -0,0 +1,10 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.AbstractSecretCipher;
public class TestSecretCipher extends AbstractSecretCipher {
protected TestSecretCipher() {
super("AES", "AES/GCM/NoPadding", null, 128);
}
}

View File

@ -0,0 +1,19 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.AbstractSigner;
import java.security.PrivateKey;
/**
* @author wangwei
* @since 2.0.0
*/
public class TestSigner extends AbstractSigner {
/**
* @param privateKey API
*/
public TestSigner(PrivateKey privateKey, String certificateSerial) {
super("SHA256withRSA", "SHA256withRSA", privateKey, null, certificateSerial);
}
}

View File

@ -0,0 +1,17 @@
package com.czcb.scfs.service.cat.cipher;
import com.czcb.scfs.api.core.cipher.AbstractVerifier;
import com.czcb.scfs.api.core.cipher.CertificateProvider;
/**
* @author wangwei
* @since 2.0.0
*/
public class TestVerifier extends AbstractVerifier {
/**
* @param certificateProvider 使
*/
public TestVerifier(CertificateProvider certificateProvider) {
super("SHA256withRSA", certificateProvider, null);
}
}

View File

@ -0,0 +1,549 @@
package com.czcb.scfs.service.cat.order;
import com.czcb.scfs.api.core.ApiClient;
import com.czcb.scfs.api.core.http.HttpHeaders;
import com.czcb.scfs.api.core.http.HttpResponse;
import com.czcb.scfs.api.core.http.RequestBody;
import com.czcb.scfs.api.core.util.Json;
import com.czcb.scfs.service.cat.cipher.TestHttpResponse;
import com.czcb.scfs.service.cat.order.model.*;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import java.math.BigDecimal;
@ExtendWith(MockitoExtension.class)
class OrderServiceTest {
@InjectMocks
private OrderService service;
@Mock
private ApiClient apiClient;
@Test
void tradeOrdersCreateTest() {
TradeOrdersCreateRequest request = new TradeOrdersCreateRequest();
extractedTradeOrdersCreateRequestParams(request);
extractedTradeOrdersCreateRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"project_no\":\"setProjectNo\",\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_amount\":100.0,\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"fee_account_no\":\"setFeeAccountNo\",\"fee_account_name\":\"setFeeAccountName\",\"remark\":\"setRemark\",\"goods_info_list\":[],\"file_list\":[]}", requestJson);
TradeOrdersCreateResponse response = new TradeOrdersCreateResponse();
extractedTradeOrdersCreateResponseParams(response);
extractedTradeOrdersCreateResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<TradeOrdersCreateResponse> httpResponse = TestHttpResponse.create("/trade-orders/create", response, TradeOrdersCreateResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/create"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrdersCreateResponse.class)))
.thenReturn(httpResponse);
TradeOrdersCreateResponse result = service.tradeOrdersCreate(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedTradeOrdersCreateRequestParams(TradeOrdersCreateRequest request) {
request.setGoodsInfoLists(Lists.list());
request.setTransTradeTime("setTransTradeTime");
request.setOppAccountName("setOppAccountName");
request.setFeeAccountName("setFeeAccountName");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setOrderAmount(BigDecimal.valueOf(100.00));
request.setRemark("setRemark");
request.setSerialNo("setSerialNo");
request.setOrderType("setOrderType");
request.setAppNo("setAppNo");
request.setFeeAccountNo("setFeeAccountNo");
request.setAccountNo("setAccountNo");
request.setAccountName("setAccountName");
request.setFileLists(Lists.list());
request.setOppAccountNo("setOppAccountNo");
request.setOrderNo("setOrderNo");
request.setProjectNo("setProjectNo");
}
void extractedTradeOrdersCreateRequestAssertions(TradeOrdersCreateRequest request) {
Assertions.assertNotNull(request.getGoodsInfoLists());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setOppAccountName", request.getOppAccountName());
Assertions.assertEquals("setFeeAccountName", request.getFeeAccountName());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getOrderAmount());
Assertions.assertEquals("setRemark", request.getRemark());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setOrderType", request.getOrderType());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setFeeAccountNo", request.getFeeAccountNo());
Assertions.assertEquals("setAccountNo", request.getAccountNo());
Assertions.assertEquals("setAccountName", request.getAccountName());
Assertions.assertNotNull(request.getFileLists());
Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo());
Assertions.assertEquals("setOrderNo", request.getOrderNo());
Assertions.assertEquals("setProjectNo", request.getProjectNo());
}
void extractedTradeOrdersCreateResponseParams(TradeOrdersCreateResponse response) {
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedTradeOrdersCreateResponseAssertions(TradeOrdersCreateResponse response) {
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void tradeOrdersCancelTest() {
TradeOrdersCancelRequest request = new TradeOrdersCancelRequest();
extractedTradeOrdersCancelRequestParams(request);
extractedTradeOrdersCancelRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"order_no\":\"setOrderNo\"}", requestJson);
TradeOrdersCancelResponse response = new TradeOrdersCancelResponse();
extractedTradeOrdersCancelResponseParams(response);
extractedTradeOrdersCancelResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<TradeOrdersCancelResponse> httpResponse = TestHttpResponse.create("/trade-orders/cancel", response, TradeOrdersCancelResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/cancel"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrdersCancelResponse.class)))
.thenReturn(httpResponse);
TradeOrdersCancelResponse result = service.tradeOrdersCancel(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedTradeOrdersCancelRequestParams(TradeOrdersCancelRequest request) {
request.setTransTradeTime("setTransTradeTime");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setSerialNo("setSerialNo");
request.setAppNo("setAppNo");
request.setOrderNo("setOrderNo");
}
void extractedTradeOrdersCancelRequestAssertions(TradeOrdersCancelRequest request) {
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setOrderNo", request.getOrderNo());
}
void extractedTradeOrdersCancelResponseParams(TradeOrdersCancelResponse response) {
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedTradeOrdersCancelResponseAssertions(TradeOrdersCancelResponse response) {
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void tradeOrdersQueryTest() {
TradeOrdersQueryRequest request = new TradeOrdersQueryRequest();
extractedTradeOrdersQueryRequestParams(request);
extractedTradeOrdersQueryRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"order_no\":\"setOrderNo\"}", requestJson);
TradeOrdersQueryResponse response = new TradeOrdersQueryResponse();
extractedTradeOrdersQueryResponseParams(response);
extractedTradeOrdersQueryResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"order_info_list\":[]}", responseJson);
HttpResponse<TradeOrdersQueryResponse> httpResponse = TestHttpResponse.create("/trade-orders/query", response, TradeOrdersQueryResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/query"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrdersQueryResponse.class)))
.thenReturn(httpResponse);
TradeOrdersQueryResponse result = service.tradeOrdersQuery(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"order_info_list\":[]}", resultJson);
}
void extractedTradeOrdersQueryRequestParams(TradeOrdersQueryRequest request) {
request.setTransTradeTime("setTransTradeTime");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setSerialNo("setSerialNo");
request.setAppNo("setAppNo");
request.setOrderNo("setOrderNo");
}
void extractedTradeOrdersQueryRequestAssertions(TradeOrdersQueryRequest request) {
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setOrderNo", request.getOrderNo());
}
void extractedTradeOrdersQueryResponseParams(TradeOrdersQueryResponse response) {
response.setOrderInfoLists(Lists.list());
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedTradeOrdersQueryResponseAssertions(TradeOrdersQueryResponse response) {
Assertions.assertNotNull(response.getOrderInfoLists());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void tradeOrdersPaySettleTest() {
TradeOrdersPaySettleRequest request = new TradeOrdersPaySettleRequest();
extractedTradeOrdersPaySettleRequestParams(request);
extractedTradeOrdersPaySettleRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"order_no\":\"setOrderNo\",\"order_type\":\"setOrderType\",\"order_pay_type\":\"setOrderPayType\",\"order_amount\":100.0,\"settle_amount\":100.0,\"is_load\":\"setIsLoad\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"apply_trans_amount\":100.0,\"is_repay_gd\":\"setIsRepayGd\",\"gd_account_no\":\"setGdAccountNo\",\"gd_account_name\":\"setGdAccountName\",\"gd_trans_amount\":100.0,\"is_balance_pay\":\"setIsBalancePay\",\"pay_account_no\":\"setPayAccountNo\",\"pay_account_name\":\"setPayAccountName\",\"pay_amount\":100.0,\"verify_code\":\"setVerifyCode\",\"pay_detail_list\":[]}", requestJson);
TradeOrdersPaySettleResponse response = new TradeOrdersPaySettleResponse();
extractedTradeOrdersPaySettleResponseParams(response);
extractedTradeOrdersPaySettleResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"serial_no\":\"setSerialNo\",\"order_pay_time\":\"setOrderPayTime\",\"order_pay_status\":\"setOrderPayStatus\",\"order_pay_failmsg\":\"setOrderPayFailMsg\",\"loan_serial_no\":\"setLoanSerialNo\",\"loan_time\":\"setLoanTime\",\"loan_status\":\"setLoanStatus\",\"loan_failmsg\":\"setLoanFailMsg\",\"loanacctno\":\"setLoanAcctNo\",\"gd_serial_no\":\"setGdSerialNo\",\"gd_trans_time\":\"setGdTransTime\",\"gd_trans_status\":\"setGdTransStatus\",\"gd_trans_failmsg\":\"setGdTransFailMsg\",\"pay_serial_no\":\"setPaySerialNo\",\"pay_time\":\"setPayTime\",\"pay_status\":\"setPayStatus\",\"pay_failmsg\":\"setPayFailMsg\",\"pay_detail_list\":[]}", responseJson);
HttpResponse<TradeOrdersPaySettleResponse> httpResponse = TestHttpResponse.create("/trade-orders/pay-settle", response, TradeOrdersPaySettleResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/pay-settle"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrdersPaySettleResponse.class)))
.thenReturn(httpResponse);
TradeOrdersPaySettleResponse result = service.tradeOrdersPaySettle(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"serial_no\":\"setSerialNo\",\"order_pay_time\":\"setOrderPayTime\",\"order_pay_status\":\"setOrderPayStatus\",\"order_pay_failmsg\":\"setOrderPayFailMsg\",\"loan_serial_no\":\"setLoanSerialNo\",\"loan_time\":\"setLoanTime\",\"loan_status\":\"setLoanStatus\",\"loan_failmsg\":\"setLoanFailMsg\",\"loanacctno\":\"setLoanAcctNo\",\"gd_serial_no\":\"setGdSerialNo\",\"gd_trans_time\":\"setGdTransTime\",\"gd_trans_status\":\"setGdTransStatus\",\"gd_trans_failmsg\":\"setGdTransFailMsg\",\"pay_serial_no\":\"setPaySerialNo\",\"pay_time\":\"setPayTime\",\"pay_status\":\"setPayStatus\",\"pay_failmsg\":\"setPayFailMsg\",\"pay_detail_list\":[]}", resultJson);
}
void extractedTradeOrdersPaySettleRequestParams(TradeOrdersPaySettleRequest request) {
request.setTransTradeTime("setTransTradeTime");
request.setApplyTransAmount(BigDecimal.valueOf(100.00));
request.setApplyAccountNo("setApplyAccountNo");
request.setApplyAccountName("setApplyAccountName");
request.setPayDetailLists(Lists.list());
request.setPayAccountName("setPayAccountName");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setOrderAmount(BigDecimal.valueOf(100.00));
request.setSerialNo("setSerialNo");
request.setOrderType("setOrderType");
request.setAppNo("setAppNo");
request.setOrderNo("setOrderNo");
request.setIsRepayGd("setIsRepayGd");
request.setIsLoad("setIsLoad");
request.setSettleAmount(BigDecimal.valueOf(100.00));
request.setGdAccountNo("setGdAccountNo");
request.setGdAccountName("setGdAccountName");
request.setIsBalancePay("setIsBalancePay");
request.setPayAccountNo("setPayAccountNo");
request.setPayAmount(BigDecimal.valueOf(100.00));
request.setVerifyCode("setVerifyCode");
request.setOrderPayType("setOrderPayType");
request.setGdTransAmount(BigDecimal.valueOf(100.00));
}
void extractedTradeOrdersPaySettleRequestAssertions(TradeOrdersPaySettleRequest request) {
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getApplyTransAmount());
Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo());
Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName());
Assertions.assertNotNull(request.getPayDetailLists());
Assertions.assertEquals("setPayAccountName", request.getPayAccountName());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getOrderAmount());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setOrderType", request.getOrderType());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setOrderNo", request.getOrderNo());
Assertions.assertEquals("setIsRepayGd", request.getIsRepayGd());
Assertions.assertEquals("setIsLoad", request.getIsLoad());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getSettleAmount());
Assertions.assertEquals("setGdAccountNo", request.getGdAccountNo());
Assertions.assertEquals("setGdAccountName", request.getGdAccountName());
Assertions.assertEquals("setIsBalancePay", request.getIsBalancePay());
Assertions.assertEquals("setPayAccountNo", request.getPayAccountNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getPayAmount());
Assertions.assertEquals("setVerifyCode", request.getVerifyCode());
Assertions.assertEquals("setOrderPayType", request.getOrderPayType());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getGdTransAmount());
}
void extractedTradeOrdersPaySettleResponseParams(TradeOrdersPaySettleResponse response) {
response.setPayDetailLists(Lists.list());
response.setGdTransFailMsg("setGdTransFailMsg");
response.setOrderPayStatus("setOrderPayStatus");
response.setOrderPayFailMsg("setOrderPayFailMsg");
response.setSerialNo("setSerialNo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
response.setLoanStatus("setLoanStatus");
response.setGdTransStatus("setGdTransStatus");
response.setGdSerialNo("setGdSerialNo");
response.setPaySerialNo("setPaySerialNo");
response.setLoanTime("setLoanTime");
response.setGdTransTime("setGdTransTime");
response.setOrderPayTime("setOrderPayTime");
response.setPayStatus("setPayStatus");
response.setLoanAcctNo("setLoanAcctNo");
response.setLoanFailMsg("setLoanFailMsg");
response.setLoanSerialNo("setLoanSerialNo");
response.setPayTime("setPayTime");
response.setPayFailMsg("setPayFailMsg");
}
void extractedTradeOrdersPaySettleResponseAssertions(TradeOrdersPaySettleResponse response) {
Assertions.assertNotNull(response.getPayDetailLists());
Assertions.assertEquals("setGdTransFailMsg", response.getGdTransFailMsg());
Assertions.assertEquals("setOrderPayStatus", response.getOrderPayStatus());
Assertions.assertEquals("setOrderPayFailMsg", response.getOrderPayFailMsg());
Assertions.assertEquals("setSerialNo", response.getSerialNo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertEquals("setLoanStatus", response.getLoanStatus());
Assertions.assertEquals("setGdTransStatus", response.getGdTransStatus());
Assertions.assertEquals("setGdSerialNo", response.getGdSerialNo());
Assertions.assertEquals("setPaySerialNo", response.getPaySerialNo());
Assertions.assertEquals("setLoanTime", response.getLoanTime());
Assertions.assertEquals("setGdTransTime", response.getGdTransTime());
Assertions.assertEquals("setOrderPayTime", response.getOrderPayTime());
Assertions.assertEquals("setPayStatus", response.getPayStatus());
Assertions.assertEquals("setLoanAcctNo", response.getLoanAcctNo());
Assertions.assertEquals("setLoanFailMsg", response.getLoanFailMsg());
Assertions.assertEquals("setLoanSerialNo", response.getLoanSerialNo());
Assertions.assertEquals("setPayTime", response.getPayTime());
Assertions.assertEquals("setPayFailMsg", response.getPayFailMsg());
}
@Test
void tradeOrdersCreditStatTest() {
TradeOrdersCreditStatRequest request = new TradeOrdersCreditStatRequest();
extractedTradeOrdersCreditStatRequestParams(request);
extractedTradeOrdersCreditStatRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"pay_account_no\":\"setPayAccountNo\",\"pay_account_name\":\"setPayAccountName\",\"loanacctno\":\"setLoanAcctNo\"}", requestJson);
TradeOrdersCreditStatResponse response = new TradeOrdersCreditStatResponse();
extractedTradeOrdersCreditStatResponseParams(response);
extractedTradeOrdersCreditStatResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"credit_limit_total\":100.0,\"credit_balance\":100.0,\"credit_limit_usable\":100.0,\"order_limit_usable\":100.0,\"order_loan_total\":100.0,\"credit_loan_list\":[]}", responseJson);
HttpResponse<TradeOrdersCreditStatResponse> httpResponse = TestHttpResponse.create("/trade-orders/credit-stat", response, TradeOrdersCreditStatResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/credit-stat"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrdersCreditStatResponse.class)))
.thenReturn(httpResponse);
TradeOrdersCreditStatResponse result = service.tradeOrdersCreditStat(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"credit_limit_total\":100.0,\"credit_balance\":100.0,\"credit_limit_usable\":100.0,\"order_limit_usable\":100.0,\"order_loan_total\":100.0,\"credit_loan_list\":[]}", resultJson);
}
void extractedTradeOrdersCreditStatRequestParams(TradeOrdersCreditStatRequest request) {
request.setTransTradeTime("setTransTradeTime");
request.setApplyAccountNo("setApplyAccountNo");
request.setApplyAccountName("setApplyAccountName");
request.setPayAccountName("setPayAccountName");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setSerialNo("setSerialNo");
request.setAppNo("setAppNo");
request.setPayAccountNo("setPayAccountNo");
request.setLoanAcctNo("setLoanAcctNo");
}
void extractedTradeOrdersCreditStatRequestAssertions(TradeOrdersCreditStatRequest request) {
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo());
Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName());
Assertions.assertEquals("setPayAccountName", request.getPayAccountName());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setPayAccountNo", request.getPayAccountNo());
Assertions.assertEquals("setLoanAcctNo", request.getLoanAcctNo());
}
void extractedTradeOrdersCreditStatResponseParams(TradeOrdersCreditStatResponse response) {
response.setCreditLimitTotal(BigDecimal.valueOf(100.00));
response.setCreditLoanLists(Lists.list());
response.setOrderLimitUsable(BigDecimal.valueOf(100.00));
response.setOrderLoanTotal(BigDecimal.valueOf(100.00));
response.setCreditLimitUsable(BigDecimal.valueOf(100.00));
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
response.setCreditBalance(BigDecimal.valueOf(100.00));
}
void extractedTradeOrdersCreditStatResponseAssertions(TradeOrdersCreditStatResponse response) {
Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getCreditLimitTotal());
Assertions.assertNotNull(response.getCreditLoanLists());
Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getOrderLimitUsable());
Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getOrderLoanTotal());
Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getCreditLimitUsable());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertEquals(BigDecimal.valueOf(100.00), response.getCreditBalance());
}
@Test
void tradeOrderRepayTest() {
TradeOrderRepayRequest request = new TradeOrderRepayRequest();
extractedTradeOrderRepayRequestParams(request);
extractedTradeOrderRepayRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"order_no\":\"setOrderNo\"}", requestJson);
TradeOrderRepayResponse response = new TradeOrderRepayResponse();
extractedTradeOrderRepayResponseParams(response);
extractedTradeOrderRepayResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<TradeOrderRepayResponse> httpResponse = TestHttpResponse.create("/trade-orders/credit-repay", response, TradeOrderRepayResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/trade-orders/credit-repay"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(TradeOrderRepayResponse.class)))
.thenReturn(httpResponse);
TradeOrderRepayResponse result = service.tradeOrderRepay(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedTradeOrderRepayRequestParams(TradeOrderRepayRequest request) {
request.setTransTradeTime("setTransTradeTime");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setSerialNo("setSerialNo");
request.setAppNo("setAppNo");
request.setOrderNo("setOrderNo");
}
void extractedTradeOrderRepayRequestAssertions(TradeOrderRepayRequest request) {
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setOrderNo", request.getOrderNo());
}
void extractedTradeOrderRepayResponseParams(TradeOrderRepayResponse response) {
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setRecodeInfo("setRecodeInfo");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedTradeOrderRepayResponseAssertions(TradeOrderRepayResponse response) {
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
}

View File

@ -0,0 +1,549 @@
package com.czcb.scfs.service.cat.project;
import com.czcb.scfs.api.core.ApiClient;
import com.czcb.scfs.api.core.http.HttpHeaders;
import com.czcb.scfs.api.core.http.HttpResponse;
import com.czcb.scfs.api.core.http.RequestBody;
import com.czcb.scfs.api.core.util.Json;
import com.czcb.scfs.service.cat.cipher.TestHttpResponse;
import com.czcb.scfs.service.cat.project.model.*;
import org.assertj.core.util.Lists;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.jupiter.MockitoExtension;
import java.math.BigDecimal;
@ExtendWith(MockitoExtension.class)
class ProjectServiceTest {
@InjectMocks
private ProjectService service;
@Mock
private ApiClient apiClient;
@Test
void projectAddTest() {
ProjectAddRequest request = new ProjectAddRequest();
extractedProjectAddRequestParams(request);
extractedProjectAddRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"project_no\":\"setProjectNo\",\"project_name\":\"setProjectName\",\"project_type\":\"setProjectType\",\"transport_mode\":\"setTransportMode\",\"base_unit\":\"setBaseUnit\",\"base_price\":100.0,\"bid_date\":\"setBidDate\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"payback_prop\":100.0,\"opp_account_no_1\":\"setOppAccountNo1\",\"opp_account_name_1\":\"setOppAccountName1\",\"opp_account_no_2\":\"setOppAccountNo2\",\"opp_account_name_2\":\"setOppAccountName2\",\"opp_bank_no_2\":\"setOppBankNo2\",\"opp_bank_name_2\":\"setOppBankName2\",\"opp_account_no_3\":\"setOppAccountNo3\",\"opp_account_name_3\":\"setOppAccountName3\",\"opp_bank_no_3\":\"setOppBankNo3\",\"opp_bank_name_3\":\"setOppBankName3\",\"bid_amount\":100.0,\"assess_amount\":100.0,\"credit_prop\":100.0,\"credit_period\":\"setCreditPeriod\",\"project_amount\":100.0,\"remark\":\"setRemark\"}", requestJson);
ProjectAddResponse response = new ProjectAddResponse();
extractedProjectAddResponseParams(response);
extractedProjectAddResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<ProjectAddResponse> httpResponse = TestHttpResponse.create("/purchase/project-add", response, ProjectAddResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/purchase/project-add"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(ProjectAddResponse.class)))
.thenReturn(httpResponse);
ProjectAddResponse result = service.projectAdd(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedProjectAddRequestParams(ProjectAddRequest request) {
request.setRemark("setRemark");
request.setAccountName("setAccountName");
request.setBidAmount(BigDecimal.valueOf(100.00));
request.setProjectName("setProjectName");
request.setAssessAmount(BigDecimal.valueOf(100.00));
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setCreditProp(BigDecimal.valueOf(100.00));
request.setCreditPeriod("setCreditPeriod");
request.setPaybackProp(BigDecimal.valueOf(100.00));
request.setOppAccountNo1("setOppAccountNo1");
request.setAppNo("setAppNo");
request.setBasePrice(BigDecimal.valueOf(100.00));
request.setOppAccountNo2("setOppAccountNo2");
request.setOppBankName2("setOppBankName2");
request.setOppAccountNo3("setOppAccountNo3");
request.setBaseUnit("setBaseUnit");
request.setBidDate("setBidDate");
request.setOppBankNo2("setOppBankNo2");
request.setTransportMode("setTransportMode");
request.setProjectNo("setProjectNo");
request.setProjectType("setProjectType");
request.setProjectAmount(BigDecimal.valueOf(100.00));
request.setAccountNo("setAccountNo");
request.setOppBankName3("setOppBankName3");
request.setOppBankNo3("setOppBankNo3");
request.setTransTradeTime("setTransTradeTime");
request.setOppAccountName1("setOppAccountName1");
request.setOppAccountName2("setOppAccountName2");
request.setOppAccountName3("setOppAccountName3");
}
void extractedProjectAddRequestAssertions(ProjectAddRequest request) {
Assertions.assertEquals("setRemark", request.getRemark());
Assertions.assertEquals("setAccountName", request.getAccountName());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getBidAmount());
Assertions.assertEquals("setProjectName", request.getProjectName());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getAssessAmount());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getCreditProp());
Assertions.assertEquals("setCreditPeriod", request.getCreditPeriod());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getPaybackProp());
Assertions.assertEquals("setOppAccountNo1", request.getOppAccountNo1());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getBasePrice());
Assertions.assertEquals("setOppAccountNo2", request.getOppAccountNo2());
Assertions.assertEquals("setOppBankName2", request.getOppBankName2());
Assertions.assertEquals("setOppAccountNo3", request.getOppAccountNo3());
Assertions.assertEquals("setBaseUnit", request.getBaseUnit());
Assertions.assertEquals("setBidDate", request.getBidDate());
Assertions.assertEquals("setOppBankNo2", request.getOppBankNo2());
Assertions.assertEquals("setTransportMode", request.getTransportMode());
Assertions.assertEquals("setProjectNo", request.getProjectNo());
Assertions.assertEquals("setProjectType", request.getProjectType());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getProjectAmount());
Assertions.assertEquals("setAccountNo", request.getAccountNo());
Assertions.assertEquals("setOppBankName3", request.getOppBankName3());
Assertions.assertEquals("setOppBankNo3", request.getOppBankNo3());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setOppAccountName1", request.getOppAccountName1());
Assertions.assertEquals("setOppAccountName2", request.getOppAccountName2());
Assertions.assertEquals("setOppAccountName3", request.getOppAccountName3());
}
void extractedProjectAddResponseParams(ProjectAddResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedProjectAddResponseAssertions(ProjectAddResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void projectQueryTest() {
ProjectQueryRequest request = new ProjectQueryRequest();
extractedProjectQueryRequestParams(request);
extractedProjectQueryRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"project_no\":\"setProjectNo\",\"current_page\":0,\"current_rows\":50}", requestJson);
ProjectQueryResponse response = new ProjectQueryResponse();
extractedProjectQueryResponseParams(response);
extractedProjectQueryResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"project_info_list\":[]}", responseJson);
HttpResponse<ProjectQueryResponse> httpResponse = TestHttpResponse.create("/purchase/project-query", response, ProjectQueryResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/purchase/project-query"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(ProjectQueryResponse.class)))
.thenReturn(httpResponse);
ProjectQueryResponse result = service.projectQuery(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"project_info_list\":[]}", resultJson);
}
void extractedProjectQueryRequestParams(ProjectQueryRequest request) {
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setAppNo("setAppNo");
request.setProjectNo("setProjectNo");
request.setTransTradeTime("setTransTradeTime");
}
void extractedProjectQueryRequestAssertions(ProjectQueryRequest request) {
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setProjectNo", request.getProjectNo());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
}
void extractedProjectQueryResponseParams(ProjectQueryResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
response.setProjectInfoLists(Lists.list());
}
void extractedProjectQueryResponseAssertions(ProjectQueryResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertNotNull(response.getProjectInfoLists());
}
@Test
void projectPayTest() {
ProjectPayRequest request = new ProjectPayRequest();
extractedProjectPayRequestParams(request);
extractedProjectPayRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"project_no\":\"setProjectNo\",\"pay_amount\":\"setPayAmount\",\"loan_amount\":100.0,\"pay_type\":\"setPayType\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"pay_account_no\":\"setPayAccountNo\",\"pay_account_name\":\"setPayAccountName\",\"verify_code\":\"setVerifyCode\",\"remark\":\"setRemark\",\"file_list\":[]}", requestJson);
ProjectPayResponse response = new ProjectPayResponse();
extractedProjectPayResponseParams(response);
extractedProjectPayResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"loanacctno\":\"setLoanAcctNo\"}", responseJson);
HttpResponse<ProjectPayResponse> httpResponse = TestHttpResponse.create("/purchase/project-pay", response, ProjectPayResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/purchase/project-pay"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(ProjectPayResponse.class)))
.thenReturn(httpResponse);
ProjectPayResponse result = service.projectPay(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"loanacctno\":\"setLoanAcctNo\"}", resultJson);
}
void extractedProjectPayRequestParams(ProjectPayRequest request) {
request.setRemark("setRemark");
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setAppNo("setAppNo");
request.setProjectNo("setProjectNo");
request.setPayAccountNo("setPayAccountNo");
request.setVerifyCode("setVerifyCode");
request.setLoanAmount(BigDecimal.valueOf(100.00));
request.setPayType("setPayType");
request.setPayAmount("setPayAmount");
request.setFileLists(Lists.list());
request.setTransTradeTime("setTransTradeTime");
request.setPayAccountName("setPayAccountName");
request.setApplyAccountNo("setApplyAccountNo");
request.setApplyAccountName("setApplyAccountName");
}
void extractedProjectPayRequestAssertions(ProjectPayRequest request) {
Assertions.assertEquals("setRemark", request.getRemark());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setProjectNo", request.getProjectNo());
Assertions.assertEquals("setPayAccountNo", request.getPayAccountNo());
Assertions.assertEquals("setVerifyCode", request.getVerifyCode());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getLoanAmount());
Assertions.assertEquals("setPayType", request.getPayType());
Assertions.assertEquals("setPayAmount", request.getPayAmount());
Assertions.assertNotNull(request.getFileLists());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setPayAccountName", request.getPayAccountName());
Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo());
Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName());
}
void extractedProjectPayResponseParams(ProjectPayResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
response.setLoanAcctNo("setLoanAcctNo");
}
void extractedProjectPayResponseAssertions(ProjectPayResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertEquals("setLoanAcctNo", response.getLoanAcctNo());
}
@Test
void projectRepayTest() {
ProjectRepayRequest request = new ProjectRepayRequest();
extractedProjectRepayRequestParams(request);
extractedProjectRepayRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"apply_account_no\":\"setApplyAccountNo\",\"apply_account_name\":\"setApplyAccountName\",\"pay_account_no\":\"setPayAccountNo\",\"pay_account_name\":\"setPayAccountName\",\"verify_code\":\"setVerifyCode\",\"loanacctno\":\"setLoanAcctNo\",\"repymtmd\":\"setRepymtmd\",\"ctrno\":\"setCtrNo\",\"repymtcorpus\":100.0,\"remark\":\"setRemark\"}", requestJson);
ProjectRepayResponse response = new ProjectRepayResponse();
extractedProjectRepayResponseParams(response);
extractedProjectRepayResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<ProjectRepayResponse> httpResponse = TestHttpResponse.create("/purchase/project-repay", response, ProjectRepayResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/purchase/project-repay"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(ProjectRepayResponse.class)))
.thenReturn(httpResponse);
ProjectRepayResponse result = service.projectRepay(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedProjectRepayRequestParams(ProjectRepayRequest request) {
request.setRemark("setRemark");
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setAppNo("setAppNo");
request.setPayAccountNo("setPayAccountNo");
request.setVerifyCode("setVerifyCode");
request.setLoanAcctNo("setLoanAcctNo");
request.setRepymtCorpus(BigDecimal.valueOf(100.00));
request.setRepymtmd("setRepymtmd");
request.setCtrNo("setCtrNo");
request.setTransTradeTime("setTransTradeTime");
request.setPayAccountName("setPayAccountName");
request.setApplyAccountNo("setApplyAccountNo");
request.setApplyAccountName("setApplyAccountName");
}
void extractedProjectRepayRequestAssertions(ProjectRepayRequest request) {
Assertions.assertEquals("setRemark", request.getRemark());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setPayAccountNo", request.getPayAccountNo());
Assertions.assertEquals("setVerifyCode", request.getVerifyCode());
Assertions.assertEquals("setLoanAcctNo", request.getLoanAcctNo());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getRepymtCorpus());
Assertions.assertEquals("setRepymtmd", request.getRepymtmd());
Assertions.assertEquals("setCtrNo", request.getCtrNo());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setPayAccountName", request.getPayAccountName());
Assertions.assertEquals("setApplyAccountNo", request.getApplyAccountNo());
Assertions.assertEquals("setApplyAccountName", request.getApplyAccountName());
}
void extractedProjectRepayResponseParams(ProjectRepayResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedProjectRepayResponseAssertions(ProjectRepayResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void payTest() {
CommonTradePayRequest request = new CommonTradePayRequest();
extractedCommonTradePayRequestParams(request);
extractedCommonTradePayRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"pay_amount\":100.0,\"verify_code\":\"setVerifyCode\",\"opp_account_no\":\"setOppAccountNo\",\"opp_account_name\":\"setOppAccountName\",\"opp_bank_no\":\"setOppBankNo\",\"opp_bank_name\":\"setOppBankName\",\"remark\":\"setRemark\"}", requestJson);
CommonTradePayResponse response = new CommonTradePayResponse();
extractedCommonTradePayResponseParams(response);
extractedCommonTradePayResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", responseJson);
HttpResponse<CommonTradePayResponse> httpResponse = TestHttpResponse.create("/common-trade/pay", response, CommonTradePayResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/common-trade/pay"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(CommonTradePayResponse.class)))
.thenReturn(httpResponse);
CommonTradePayResponse result = service.pay(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}", resultJson);
}
void extractedCommonTradePayRequestParams(CommonTradePayRequest request) {
request.setRemark("setRemark");
request.setAccountName("setAccountName");
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setAppNo("setAppNo");
request.setAccountNo("setAccountNo");
request.setVerifyCode("setVerifyCode");
request.setPayAmount(BigDecimal.valueOf(100.00));
request.setOppBankName("setOppBankName");
request.setOppAccountNo("setOppAccountNo");
request.setOppBankNo("setOppBankNo");
request.setTransTradeTime("setTransTradeTime");
request.setOppAccountName("setOppAccountName");
}
void extractedCommonTradePayRequestAssertions(CommonTradePayRequest request) {
Assertions.assertEquals("setRemark", request.getRemark());
Assertions.assertEquals("setAccountName", request.getAccountName());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setAccountNo", request.getAccountNo());
Assertions.assertEquals("setVerifyCode", request.getVerifyCode());
Assertions.assertEquals(BigDecimal.valueOf(100.00), request.getPayAmount());
Assertions.assertEquals("setOppBankName", request.getOppBankName());
Assertions.assertEquals("setOppAccountNo", request.getOppAccountNo());
Assertions.assertEquals("setOppBankNo", request.getOppBankNo());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
Assertions.assertEquals("setOppAccountName", request.getOppAccountName());
}
void extractedCommonTradePayResponseParams(CommonTradePayResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
}
void extractedCommonTradePayResponseAssertions(CommonTradePayResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
}
@Test
void agrtQueryTest() {
EntpayAgrtQueryRequest request = new EntpayAgrtQueryRequest();
extractedEntpayAgrtQueryRequestParams(request);
extractedEntpayAgrtQueryRequestAssertions(request);
System.out.println(Json.toJson(request));
String requestJson = Json.toJson(request);
Assertions.assertEquals("{\"channel_no\":\"setChannelNo\",\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trans_date\":\"setTransDate\",\"trans_tradetime\":\"setTransTradeTime\",\"file_no\":\"setFileNo\",\"account_no\":\"setAccountNo\",\"account_name\":\"setAccountName\",\"start_date\":\"setStartDate\",\"end_date\":\"setEndDate\"}", requestJson);
EntpayAgrtQueryResponse response = new EntpayAgrtQueryResponse();
extractedEntpayAgrtQueryResponseParams(response);
extractedEntpayAgrtQueryResponseAssertions(response);
System.out.println(Json.toJson(response));
String responseJson = Json.toJson(response);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"recode_list\":[]}", responseJson);
HttpResponse<EntpayAgrtQueryResponse> httpResponse = TestHttpResponse.create("/entpay/agrt-query", response, EntpayAgrtQueryResponse.class);
Mockito.when(apiClient.post(
Mockito.eq("/entpay/agrt-query"),
Mockito.any(HttpHeaders.class),
Mockito.any(RequestBody.class),
Mockito.eq(EntpayAgrtQueryResponse.class)))
.thenReturn(httpResponse);
EntpayAgrtQueryResponse result = service.agrtQuery(request);
System.out.println(Json.toJson(result));
String resultJson = Json.toJson(result);
Assertions.assertEquals("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\",\"sys_serial_no\":\"setSysSerialNo\",\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"recode_list\":[]}", resultJson);
}
void extractedEntpayAgrtQueryRequestParams(EntpayAgrtQueryRequest request) {
request.setAccountName("setAccountName");
request.setSerialNo("setSerialNo");
request.setTransDate("setTransDate");
request.setChannelNo("setChannelNo");
request.setAppNo("setAppNo");
request.setAccountNo("setAccountNo");
request.setFileNo("setFileNo");
request.setStartDate("setStartDate");
request.setEndDate("setEndDate");
request.setTransTradeTime("setTransTradeTime");
}
void extractedEntpayAgrtQueryRequestAssertions(EntpayAgrtQueryRequest request) {
Assertions.assertEquals("setAccountName", request.getAccountName());
Assertions.assertEquals("setSerialNo", request.getSerialNo());
Assertions.assertEquals("setTransDate", request.getTransDate());
Assertions.assertEquals("setChannelNo", request.getChannelNo());
Assertions.assertEquals("setAppNo", request.getAppNo());
Assertions.assertEquals("setAccountNo", request.getAccountNo());
Assertions.assertEquals("setFileNo", request.getFileNo());
Assertions.assertEquals("setStartDate", request.getStartDate());
Assertions.assertEquals("setEndDate", request.getEndDate());
Assertions.assertEquals("setTransTradeTime", request.getTransTradeTime());
}
void extractedEntpayAgrtQueryResponseParams(EntpayAgrtQueryResponse response) {
response.setRecodeInfo("setRecodeInfo");
response.setSysDate("setSysDate");
response.setRecode("setRecode");
response.setSysSerialNo("setSysSerialNo");
response.setSysTime("setSysTime");
response.setRecodeLists(Lists.list());
}
void extractedEntpayAgrtQueryResponseAssertions(EntpayAgrtQueryResponse response) {
Assertions.assertEquals("setRecodeInfo", response.getRecodeInfo());
Assertions.assertEquals("setSysDate", response.getSysDate());
Assertions.assertEquals("setRecode", response.getRecode());
Assertions.assertEquals("setSysSerialNo", response.getSysSerialNo());
Assertions.assertEquals("setSysTime", response.getSysTime());
Assertions.assertNotNull(response.getRecodeLists());
}
}

View File

@ -21,6 +21,8 @@ import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsHistoryRequest;
import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsHistoryResponse;
import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsRequest;
import com.czcb.scfs.api.service.v2.trans.model.QueryTradeDetailsResponse;
import com.czcb.scfs.service.cat.order.model.*;
import com.czcb.scfs.service.cat.project.model.*;
import org.junit.jupiter.api.Test;
class RefGenTestMethodTest {
@ -206,4 +208,46 @@ class RefGenTestMethodTest {
RefGenTestMethod.gen(BalanceBalanceVoucherRequest.class, BalanceBalanceVoucherResponse.class,
"balanceVoucherDownload", "/balance-voucher/v2/download-for-base64");
}
@Test
void projectServiceTest() {
RefGenTestMethod.gen(ProjectAddRequest.class, ProjectAddResponse.class,
"projectAdd", "/purchase/project-add");
RefGenTestMethod.gen(ProjectQueryRequest.class, ProjectQueryResponse.class,
"projectQuery", "/purchase/project-query");
RefGenTestMethod.gen(ProjectPayRequest.class, ProjectPayResponse.class,
"projectPay", "/purchase/project-pay");
RefGenTestMethod.gen(ProjectRepayRequest.class, ProjectRepayResponse.class,
"projectRepay", "/purchase/project-repay");
RefGenTestMethod.gen(CommonTradePayRequest.class, CommonTradePayResponse.class,
"pay", "/common-trade/pay");
RefGenTestMethod.gen(EntpayAgrtQueryRequest.class, EntpayAgrtQueryResponse.class,
"agrtQuery", "/entpay/agrt-query");
}
@Test
void orderServiceTest() {
RefGenTestMethod.gen(TradeOrdersCreateRequest.class, TradeOrdersCreateResponse.class,
"tradeOrdersCreate", "/trade-orders/create");
RefGenTestMethod.gen(TradeOrdersCancelRequest.class, TradeOrdersCancelResponse.class,
"tradeOrdersCancel", "/trade-orders/cancel");
RefGenTestMethod.gen(TradeOrdersQueryRequest.class, TradeOrdersQueryResponse.class,
"tradeOrdersQuery", "/trade-orders/query");
RefGenTestMethod.gen(TradeOrdersPaySettleRequest.class, TradeOrdersPaySettleResponse.class,
"tradeOrdersPaySettle", "/trade-orders/pay-settle");
RefGenTestMethod.gen(TradeOrdersCreditStatRequest.class, TradeOrdersCreditStatResponse.class,
"tradeOrdersCreditStat", "/trade-orders/credit-stat");
RefGenTestMethod.gen(TradeOrderRepayRequest.class, TradeOrderRepayResponse.class,
"tradeOrderRepay", "/trade-orders/credit-repay");
}
}