| | |
| | | import static org.mockito.ArgumentMatchers.any; |
| | | import static org.mockito.ArgumentMatchers.anyInt; |
| | | import static org.mockito.Mockito.mock; |
| | | import static org.mockito.Mockito.never; |
| | | import static org.mockito.Mockito.verify; |
| | | import static org.mockito.Mockito.when; |
| | | |
| | | import java.io.IOException; |
| | |
| | | import com.ruoyi.system.domain.TTest; |
| | | import com.ruoyi.system.domain.TTestBattery; |
| | | import com.ruoyi.system.domain.TTestChannelBinding; |
| | | import com.ruoyi.system.domain.TTestWarningException; |
| | | import com.ruoyi.system.mapper.TTestMapper; |
| | | import com.ruoyi.system.service.ITTestService; |
| | | import com.ruoyi.system.service.ITestLiveService.LiveState; |
| | | |
| | |
| | | assertTrue(state.exceptions().isEmpty()); |
| | | } |
| | | |
| | | @Test |
| | | void completedTestShouldNotExposeOpenWarningInLiveAlarm() |
| | | { |
| | | Instant now = Instant.parse("2026-09-02T06:00:00Z"); |
| | | TTestMapper mapper = mock(TTestMapper.class); |
| | | TTestWarningException warning = new TTestWarningException(); |
| | | warning.setExceptionId(1L); |
| | | warning.setSourceType("COLLECTOR"); |
| | | warning.setMetricCode("TEMPERATURE"); |
| | | warning.setAbnormalValue(new BigDecimal("25.3")); |
| | | warning.setUnit("℃"); |
| | | warning.setExceptionStatus("OPEN"); |
| | | when(mapper.selectWarningExceptions(10L, "OPEN")).thenReturn(List.of(warning)); |
| | | |
| | | TTestLiveServiceImpl service = liveService(test("ENDED"), now, true, DeviceWorkStatus.STOPPED, mapper); |
| | | |
| | | LiveState state = service.current(10L); |
| | | |
| | | assertTrue(state.exceptions().isEmpty()); |
| | | verify(mapper, never()).selectWarningExceptions(10L, "OPEN"); |
| | | } |
| | | |
| | | private static TTest test(String receptionStatus) |
| | | { |
| | | TTest test = new TTest(); |
| | |
| | | private static TTestLiveServiceImpl liveService(TTest test, Instant now, boolean online, |
| | | DeviceWorkStatus workStatus) |
| | | { |
| | | return liveService(test, now, online, workStatus, null); |
| | | } |
| | | |
| | | private static TTestLiveServiceImpl liveService(TTest test, Instant now, boolean online, |
| | | DeviceWorkStatus workStatus, TTestMapper mapper) |
| | | { |
| | | DeviceDiscoveryCandidateStore candidates = mock(DeviceDiscoveryCandidateStore.class); |
| | | BtsDevelopmentSimulator simulator = mock(BtsDevelopmentSimulator.class); |
| | | ITTestService tests = mock(ITTestService.class); |
| | |
| | | var plan = new BtsDevelopmentSimulator.BtsTestSnapshot(1, 1, 1, List.of()); |
| | | when(simulator.btsTest(anyInt(), anyInt())).thenReturn(plan); |
| | | when(simulator.btsTest(anyInt(), anyInt(), anyInt())).thenReturn(plan); |
| | | return new CurrentLiveService(tests, candidates, simulator); |
| | | return new CurrentLiveService(tests, candidates, simulator, mapper); |
| | | } |
| | | |
| | | @Test |
| | |
| | | private static final class CurrentLiveService extends TTestLiveServiceImpl |
| | | { |
| | | private CurrentLiveService(ITTestService tests, DeviceDiscoveryCandidateStore candidates, |
| | | BtsDevelopmentSimulator simulator) |
| | | BtsDevelopmentSimulator simulator, TTestMapper mapper) |
| | | { |
| | | super(tests, candidates, simulator); |
| | | super(tests, candidates, simulator, mapper); |
| | | } |
| | | } |
| | | |