mirror of https://github.com/ZhongFuCheng3y/austin
parent
8b8fe99af2
commit
408708322e
@ -0,0 +1,95 @@
|
|||||||
|
package com.java3y.austin.service.api.impl.service;
|
||||||
|
|
||||||
|
import com.java3y.austin.common.enums.RespStatusEnum;
|
||||||
|
import com.java3y.austin.common.vo.BasicResultVO;
|
||||||
|
import com.java3y.austin.service.api.domain.BatchSendRequest;
|
||||||
|
import com.java3y.austin.service.api.domain.MessageParam;
|
||||||
|
import com.java3y.austin.service.api.domain.SendRequest;
|
||||||
|
import com.java3y.austin.service.api.domain.SendResponse;
|
||||||
|
import com.java3y.austin.service.api.enums.BusinessCode;
|
||||||
|
import com.java3y.austin.service.api.impl.domain.SendTaskModel;
|
||||||
|
import com.java3y.austin.support.pipeline.BusinessProcess;
|
||||||
|
import com.java3y.austin.support.pipeline.ProcessContext;
|
||||||
|
import com.java3y.austin.support.pipeline.ProcessController;
|
||||||
|
import com.java3y.austin.support.pipeline.ProcessTemplate;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.Mock;
|
||||||
|
import org.mockito.Spy;
|
||||||
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class SendServiceImplTest {
|
||||||
|
|
||||||
|
@Spy
|
||||||
|
private ProcessController processController;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private Map<String, ProcessTemplate> templateConfig;
|
||||||
|
|
||||||
|
@Spy
|
||||||
|
private ProcessTemplate processTemplate;
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private BusinessProcess businessProcess;
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
private SendServiceImpl sendServiceImplUnderTest;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSend() {
|
||||||
|
|
||||||
|
// params
|
||||||
|
final SendRequest sendRequest = new SendRequest("send", 1L,
|
||||||
|
new MessageParam("13711111111", new HashMap<>(), new HashMap<>()));
|
||||||
|
|
||||||
|
// predict result
|
||||||
|
final ProcessContext<SendTaskModel> processContext = new ProcessContext<>(sendRequest.getCode(), new SendTaskModel(), false, new BasicResultVO<>(
|
||||||
|
RespStatusEnum.SUCCESS, "data"));
|
||||||
|
final SendResponse expectedResult = new SendResponse(processContext.getResponse().getStatus(), processContext.getResponse().getMsg());
|
||||||
|
|
||||||
|
|
||||||
|
// stub
|
||||||
|
Map<String, ProcessTemplate> templateConfig = new HashMap<>(4);
|
||||||
|
processTemplate.setProcessList(Arrays.asList(businessProcess));
|
||||||
|
templateConfig.put(BusinessCode.COMMON_SEND.getCode(), processTemplate);
|
||||||
|
|
||||||
|
processController.setTemplateConfig(templateConfig);
|
||||||
|
|
||||||
|
|
||||||
|
// Run the test
|
||||||
|
final SendResponse result = sendServiceImplUnderTest.send(sendRequest);
|
||||||
|
|
||||||
|
// Verify the results
|
||||||
|
assertEquals(expectedResult, result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testBatchSend() {
|
||||||
|
// Setup
|
||||||
|
final BatchSendRequest batchSendRequest = new BatchSendRequest("code", 0L,
|
||||||
|
Arrays.asList(new MessageParam("receiver", new HashMap<>(), new HashMap<>())));
|
||||||
|
final SendResponse expectedResult = new SendResponse("status", "msg");
|
||||||
|
|
||||||
|
// Configure ProcessController.process(...).
|
||||||
|
final ProcessContext processContext = new ProcessContext<>("code", null, false, new BasicResultVO<>(
|
||||||
|
RespStatusEnum.SUCCESS, "data"));
|
||||||
|
when(processController.process(new ProcessContext<>("code", null, false, new BasicResultVO<>(
|
||||||
|
RespStatusEnum.SUCCESS, "data")))).thenReturn(processContext);
|
||||||
|
|
||||||
|
// Run the test
|
||||||
|
final SendResponse result = sendServiceImplUnderTest.batchSend(batchSendRequest);
|
||||||
|
|
||||||
|
// Verify the results
|
||||||
|
assertEquals(expectedResult, result);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue