ref: v2 model
parent
4868fe25f5
commit
0ae63b846b
12
pom.xml
12
pom.xml
|
|
@ -54,6 +54,18 @@
|
||||||
<version>4.2.0</version>
|
<version>4.2.0</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-core</artifactId>
|
||||||
|
<version>4.8.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mockito</groupId>
|
||||||
|
<artifactId>mockito-junit-jupiter</artifactId>
|
||||||
|
<version>4.8.1</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ public class AccountService {
|
||||||
* @param openAccSubRequest OpenAccSubRequest
|
* @param openAccSubRequest OpenAccSubRequest
|
||||||
* @return OpenAccSubResponse
|
* @return OpenAccSubResponse
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public OpenAccSubResponse openAccSub(OpenAccSubRequest openAccSubRequest) {
|
public OpenAccSubResponse openAccSub(OpenAccSubRequest openAccSubRequest) {
|
||||||
String url = "/accInfo/openAccSub";
|
String url = "/accInfo/openAccSub";
|
||||||
HttpHeaders headers = new HttpHeaders();
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.czcb.scfs.api.service;
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
//package com.czcb.scfs.api.service.sms;
|
|
||||||
//
|
|
||||||
//class SmsServiceTest {
|
|
||||||
//}
|
|
||||||
|
|
@ -0,0 +1,61 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.account;
|
||||||
|
|
||||||
|
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.api.service.TestHttpResponse;
|
||||||
|
import com.czcb.scfs.api.service.v2.account.model.ClosedAccRequest;
|
||||||
|
import com.czcb.scfs.api.service.v2.account.model.ClosedAccResponse;
|
||||||
|
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 static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class AccountServiceTest {
|
||||||
|
@InjectMocks
|
||||||
|
private AccountService service;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private ApiClient apiClient;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void closedAcc() {
|
||||||
|
ClosedAccRequest request = new ClosedAccRequest();
|
||||||
|
request.setChannelNo("setChannelNo");
|
||||||
|
request.setAppNo("setAppNo");
|
||||||
|
request.setAccountNo("setAccountNo");
|
||||||
|
request.setSerialNo("setSerialNo");
|
||||||
|
request.setTradeNo("setTradeNo");
|
||||||
|
request.setVerifyCode("setVerifyCode");
|
||||||
|
request.setTransDate("setTransDate");
|
||||||
|
request.setTransTradeTime("setTransTradeTime");
|
||||||
|
|
||||||
|
ClosedAccResponse response = new ClosedAccResponse();
|
||||||
|
response.setRecode("setRecode");
|
||||||
|
response.setRecodeInfo("setRecodeInfo");
|
||||||
|
response.setSysDate("setSysDate");
|
||||||
|
response.setSysTime("setSysTime");
|
||||||
|
|
||||||
|
HttpResponse<ClosedAccResponse> httpResponse = TestHttpResponse.create("/account/v2/closed-account", response, ClosedAccResponse.class);
|
||||||
|
|
||||||
|
Mockito.when(apiClient.post(
|
||||||
|
Mockito.eq("/account/v2/closed-account"),
|
||||||
|
Mockito.any(HttpHeaders.class),
|
||||||
|
Mockito.any(RequestBody.class),
|
||||||
|
Mockito.eq(ClosedAccResponse.class)))
|
||||||
|
.thenReturn(httpResponse);
|
||||||
|
|
||||||
|
ClosedAccResponse result = service.closedAcc(request);
|
||||||
|
|
||||||
|
// 断言结果
|
||||||
|
assertThatJson(Json.toJson(result)).isEqualTo("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\"," +
|
||||||
|
"\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\"}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,79 @@
|
||||||
|
package com.czcb.scfs.api.service.v2.sms;
|
||||||
|
|
||||||
|
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.api.service.TestHttpResponse;
|
||||||
|
import com.czcb.scfs.api.service.v2.sms.model.SendVerifySignRequest;
|
||||||
|
import com.czcb.scfs.api.service.v2.sms.model.SendVerifySignResponse;
|
||||||
|
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 static net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class SmsServiceTest {
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
private SmsService service;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private ApiClient apiClient;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void send() {
|
||||||
|
SendVerifySignRequest request = new SendVerifySignRequest();
|
||||||
|
request.setChannelNo("setChannelNo");
|
||||||
|
request.setAppNo("setAppNo");
|
||||||
|
request.setSerialNo("setSerialNo");
|
||||||
|
request.setTradeNo("setTradeNo");
|
||||||
|
request.setModelNo("setModelNo");
|
||||||
|
request.setTradeType("setTradeType");
|
||||||
|
request.setAccountNo("setAccountNo");
|
||||||
|
request.setAmount("setAmount");
|
||||||
|
request.setCardNo("setCardNo");
|
||||||
|
request.setCardName("setCardName");
|
||||||
|
request.setIdNo("setIdNo");
|
||||||
|
request.setMobile("setMobile");
|
||||||
|
request.setTransDate("setTransDate");
|
||||||
|
request.setTransTradeTime("setTransTradeTime");
|
||||||
|
|
||||||
|
// 验证字段是否有变化
|
||||||
|
assertThatJson(Json.toJson(request)).isEqualTo("{\"channel_no\":\"setChannelNo\"," +
|
||||||
|
"\"app_no\":\"setAppNo\",\"serial_no\":\"setSerialNo\",\"trade_no\":\"setTradeNo\"," +
|
||||||
|
"\"model_no\":\"setModelNo\",\"trade_type\":\"setTradeType\",\"account_no\":\"setAccountNo\"," +
|
||||||
|
"\"amount\":\"setAmount\",\"card_no\":\"setCardNo\",\"card_name\":\"setCardName\"," +
|
||||||
|
"\"id_no\":\"setIdNo\",\"mobile\":\"setMobile\",\"trans_date\":\"setTransDate\"," +
|
||||||
|
"\"trans_tradetime\":\"setTransTradeTime\"}");
|
||||||
|
|
||||||
|
// 模拟结果
|
||||||
|
SendVerifySignResponse response = new SendVerifySignResponse();
|
||||||
|
response.setRecode("setRecode");
|
||||||
|
response.setRecodeInfo("setRecodeInfo");
|
||||||
|
response.setSysDate("setSysDate");
|
||||||
|
response.setSysTime("setSysTime");
|
||||||
|
response.setSmsNo("setSmsNo");
|
||||||
|
|
||||||
|
HttpResponse<SendVerifySignResponse> httpResponse = TestHttpResponse.create("/sms/v2/send-verify-code", response, SendVerifySignResponse.class);
|
||||||
|
|
||||||
|
// 打桩
|
||||||
|
Mockito.when(apiClient.post(
|
||||||
|
Mockito.eq("/sms/v2/send-verify-code"),
|
||||||
|
Mockito.any(HttpHeaders.class),
|
||||||
|
Mockito.any(RequestBody.class),
|
||||||
|
Mockito.eq(SendVerifySignResponse.class)))
|
||||||
|
.thenReturn(httpResponse);
|
||||||
|
|
||||||
|
SendVerifySignResponse result = service.send(request);
|
||||||
|
|
||||||
|
// 断言结果
|
||||||
|
assertThatJson(Json.toJson(result)).isEqualTo("{\"recode\":\"setRecode\",\"recode_info\":\"setRecodeInfo\"," +
|
||||||
|
"\"sys_date\":\"setSysDate\",\"sys_time\":\"setSysTime\",\"smsNo\":\"setSmsNo\"}");
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue