ref: v2 model
parent
4868fe25f5
commit
0ae63b846b
12
pom.xml
12
pom.xml
|
|
@ -54,6 +54,18 @@
|
|||
<version>4.2.0</version>
|
||||
<scope>test</scope>
|
||||
</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>
|
||||
|
||||
<dependencyManagement>
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ public class AccountService {
|
|||
* @param openAccSubRequest OpenAccSubRequest
|
||||
* @return OpenAccSubResponse
|
||||
*/
|
||||
@Deprecated
|
||||
public OpenAccSubResponse openAccSub(OpenAccSubRequest openAccSubRequest) {
|
||||
String url = "/accInfo/openAccSub";
|
||||
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