diff --git a/Dockerfile b/Dockerfile index 7d3ebcf..ebd9d8c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ENV TZ=Asia/Shanghai EXPOSE 8080 ## 启动后端项目 -CMD java -Djava.security.egd=file:/dev/./urandom -jar app.jar +CMD java -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar app.jar # docker -H tcp://172.22.222.6:2375 build -t 172.22.222.100:28082/task-reminder:1.0.0 . diff --git a/src/test/java/com/zeodao/reminder/service/TaskReminderServiceTest.java b/src/test/java/com/zeodao/reminder/service/TaskReminderServiceTest.java index e0b1b9a..f7f5c62 100644 --- a/src/test/java/com/zeodao/reminder/service/TaskReminderServiceTest.java +++ b/src/test/java/com/zeodao/reminder/service/TaskReminderServiceTest.java @@ -2,6 +2,9 @@ package com.zeodao.reminder.service; import com.zeodao.reminder.config.TaskReminderConfig; import com.zeodao.reminder.enums.ScheduleType; +import com.zeodao.reminder.enums.TaskSystemType; +import com.zeodao.reminder.strategy.ReminderHandler; +import com.zeodao.reminder.strategy.ReminderHandlerFactory; import com.zeodao.reminder.util.HolidayUtil; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -41,6 +44,12 @@ class TaskReminderServiceTest { @Mock private EnabledCheckService enabledCheckService; + @Mock + private ReminderHandlerFactory reminderHandlerFactory; + + @Mock + private ReminderHandler reminderHandler; + @InjectMocks private TaskReminderService taskReminderService; @@ -52,6 +61,7 @@ class TaskReminderServiceTest { testGroup = new TaskReminderConfig.Group(); testGroup.setId("test-group"); testGroup.setName("测试群组"); + testGroup.setTaskSystem(TaskSystemType.ZENTAO); TaskReminderConfig.Webhook webhook = new TaskReminderConfig.Webhook(); @@ -82,14 +92,13 @@ class TaskReminderServiceTest { when(holidayUtil.isHoliday(any(LocalDate.class))).thenReturn(false); when(taskReminderConfig.getGroupById("test-group")).thenReturn(testGroup); when(enabledCheckService.isReminderEnabled(testGroup, "morning")).thenReturn(true); - when(wechatWebhookService.createTaskReminderMessage(anyString(), anyString(), anyString())).thenReturn("测试消息"); - when(wechatWebhookService.sendMarkdownMessage(anyString(), anyString())).thenReturn(true); + when(reminderHandlerFactory.getHandler(ScheduleType.MORNING, TaskSystemType.ZENTAO)).thenReturn(reminderHandler); // 执行测试 taskReminderService.sendReminder("test-group", "morning"); // 验证 - verify(wechatWebhookService, times(1)).sendMarkdownMessage(eq("test-group"), anyString()); + verify(reminderHandler, times(1)).handleReminder(eq(testGroup), eq(ScheduleType.MORNING), any(TaskReminderConfig.Schedule.class)); } @Test @@ -128,14 +137,14 @@ class TaskReminderServiceTest { when(taskReminderConfig.getGroups()).thenReturn(Arrays.asList(testGroup)); when(taskReminderConfig.getGroupById("test-group")).thenReturn(testGroup); when(enabledCheckService.isReminderEnabled(testGroup, ScheduleType.MORNING)).thenReturn(true); - when(wechatWebhookService.createTaskReminderMessage(anyString(), anyString(), anyString())).thenReturn("测试消息"); - when(wechatWebhookService.sendMarkdownMessage(anyString(), anyString())).thenReturn(true); + when(enabledCheckService.isReminderEnabled(testGroup, "morning")).thenReturn(true); + when(reminderHandlerFactory.getHandler(ScheduleType.MORNING, TaskSystemType.ZENTAO)).thenReturn(reminderHandler); // 执行测试 taskReminderService.sendAllMorningReminders(); // 验证 - verify(wechatWebhookService, times(1)).sendMarkdownMessage(eq("test-group"), anyString()); + verify(reminderHandler, times(1)).handleReminder(eq(testGroup), eq(ScheduleType.MORNING), any(TaskReminderConfig.Schedule.class)); } @Test @@ -146,14 +155,14 @@ class TaskReminderServiceTest { when(taskReminderConfig.getGroups()).thenReturn(Arrays.asList(testGroup)); when(taskReminderConfig.getGroupById("test-group")).thenReturn(testGroup); when(enabledCheckService.isReminderEnabled(testGroup, ScheduleType.EVENING)).thenReturn(true); - when(wechatWebhookService.createTaskReminderMessage(anyString(), anyString(), anyString())).thenReturn("测试消息"); - when(wechatWebhookService.sendMarkdownMessage(anyString(), anyString())).thenReturn(true); + when(enabledCheckService.isReminderEnabled(testGroup, "evening")).thenReturn(true); + when(reminderHandlerFactory.getHandler(ScheduleType.EVENING, TaskSystemType.ZENTAO)).thenReturn(reminderHandler); // 执行测试 taskReminderService.sendAllEveningReminders(); // 验证 - verify(wechatWebhookService, times(1)).sendMarkdownMessage(eq("test-group"), anyString()); + verify(reminderHandler, times(1)).handleReminder(eq(testGroup), eq(ScheduleType.EVENING), any(TaskReminderConfig.Schedule.class)); } @Test diff --git a/src/test/java/com/zeodao/reminder/service/ZentaoBugReminderTest.java b/src/test/java/com/zeodao/reminder/service/ZentaoBugReminderTest.java index f8cff44..5f32cec 100644 --- a/src/test/java/com/zeodao/reminder/service/ZentaoBugReminderTest.java +++ b/src/test/java/com/zeodao/reminder/service/ZentaoBugReminderTest.java @@ -1,11 +1,10 @@ package com.zeodao.reminder.service; import com.zeodao.reminder.config.TaskReminderConfig; +import com.zeodao.reminder.enums.TaskSystemType; import com.zeodao.reminder.model.ZentaoBug; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.TestPropertySource; import java.util.HashMap; import java.util.List; @@ -19,8 +18,6 @@ import static org.junit.jupiter.api.Assertions.*; * @author Zeodao * @version 1.0.0 */ -@SpringBootTest -@TestPropertySource(locations = "classpath:application-test.properties") public class ZentaoBugReminderTest { private TaskReminderConfig.Group testGroup; @@ -31,8 +28,7 @@ public class ZentaoBugReminderTest { testGroup = new TaskReminderConfig.Group(); testGroup.setId("test-group"); testGroup.setName("测试群组"); - testGroup.setEnabled(true); - testGroup.setTaskSystem("zentao"); + testGroup.setTaskSystem(TaskSystemType.ZENTAO); TaskReminderConfig.Webhook webhook = new TaskReminderConfig.Webhook(); webhook.setUrl("https://test.webhook.url");