| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import static org.junit.jupiter.api.Assertions.assertEquals; |
| | | import static org.mockito.Mockito.mock; |
| | | import static org.mockito.Mockito.when; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | | import org.junit.jupiter.api.Test; |
| | | import com.ruoyi.config.DevelopmentCollectorDiscoveryService; |
| | | import com.ruoyi.config.DevelopmentCollectorStatusSynchronizer; |
| | | import com.ruoyi.device.bts.BtsDevelopmentSimulator; |
| | | import com.ruoyi.device.discovery.InMemoryDeviceDiscoveryCandidateStore; |
| | | import com.ruoyi.system.domain.vo.DiscoveredCollectorVo; |
| | | import com.ruoyi.system.service.ITCollectorService; |
| | | |
| | | /** |
| | | * 采集器设备发现服务测试。 |
| | | */ |
| | | public class CollectorDiscoveryServiceImplTest |
| | | { |
| | | private final CollectorDiscoveryServiceImpl service = new CollectorDiscoveryServiceImpl(); |
| | | |
| | | @Test |
| | | public void shouldReturnExpectedTestDevices() |
| | | public void shouldReturnCollectorsWithoutMixingCabinets() throws Exception |
| | | { |
| | | try (BtsDevelopmentSimulator simulator = new BtsDevelopmentSimulator(0)) |
| | | { |
| | | ITCollectorService collectorService = mock(ITCollectorService.class); |
| | | when(collectorService.selectRegisteredCollectorCodes()).thenReturn(Set.of()); |
| | | InMemoryDeviceDiscoveryCandidateStore store = new InMemoryDeviceDiscoveryCandidateStore(); |
| | | DevelopmentCollectorDiscoveryService service = |
| | | new DevelopmentCollectorDiscoveryService(store, collectorService); |
| | | simulator.addDevice("127.0.0.8", 2); |
| | | simulator.addCollector("127.0.1.3", 6); |
| | | new DevelopmentCollectorStatusSynchronizer(simulator, store).synchronizeOnlineStatus(); |
| | | |
| | | List<DiscoveredCollectorVo> result = service.selectDiscoveredCollectorList(); |
| | | |
| | | assertEquals(6, result.size()); |
| | | assertEquals(2, result.size()); |
| | | DiscoveredCollectorVo first = result.get(0); |
| | | assertEquals("45643176", first.getDeviceCode()); |
| | | assertEquals("192.1.1.162", first.getIp()); |
| | | assertEquals("00:1A:2B:3C:4D:01", first.getMac()); |
| | | assertEquals("dev-sim-collector-1", first.getDeviceCode()); |
| | | assertEquals("127.0.1.2", first.getIp()); |
| | | assertEquals("02:43:00:00:00:01", first.getMac()); |
| | | assertEquals("dev-sim 采集器 1", first.getName()); |
| | | assertEquals("开发模拟器", first.getManufacturer()); |
| | | assertEquals("Virtual Collector", first.getModel()); |
| | | assertEquals(4, first.getChannelCount()); |
| | | assertEquals("在线", first.getOnlineStatus()); |
| | | } |
| | | } |
| | | |
| | | @Test |
| | | public void shouldReturnIndependentListContainers() |
| | | public void shouldHideOfflineCollectors() throws Exception |
| | | { |
| | | List<DiscoveredCollectorVo> firstResult = service.selectDiscoveredCollectorList(); |
| | | firstResult.clear(); |
| | | try (BtsDevelopmentSimulator simulator = new BtsDevelopmentSimulator(0)) |
| | | { |
| | | ITCollectorService collectorService = mock(ITCollectorService.class); |
| | | when(collectorService.selectRegisteredCollectorCodes()).thenReturn(Set.of()); |
| | | InMemoryDeviceDiscoveryCandidateStore store = new InMemoryDeviceDiscoveryCandidateStore(); |
| | | DevelopmentCollectorDiscoveryService service = |
| | | new DevelopmentCollectorDiscoveryService(store, collectorService); |
| | | simulator.updateCollector(1, "127.0.1.9", 8, false); |
| | | new DevelopmentCollectorStatusSynchronizer(simulator, store).synchronizeOnlineStatus(); |
| | | |
| | | List<DiscoveredCollectorVo> secondResult = service.selectDiscoveredCollectorList(); |
| | | List<DiscoveredCollectorVo> result = service.selectDiscoveredCollectorList(); |
| | | |
| | | assertEquals(6, secondResult.size()); |
| | | assertEquals(0, result.size()); |
| | | } |
| | | } |
| | | |
| | | @Test |
| | | public void shouldExcludeRegisteredCollectorAndReturnItAfterDeletion() throws Exception |
| | | { |
| | | try (BtsDevelopmentSimulator simulator = new BtsDevelopmentSimulator(0)) |
| | | { |
| | | ITCollectorService collectorService = mock(ITCollectorService.class); |
| | | InMemoryDeviceDiscoveryCandidateStore store = new InMemoryDeviceDiscoveryCandidateStore(); |
| | | DevelopmentCollectorDiscoveryService service = |
| | | new DevelopmentCollectorDiscoveryService(store, collectorService); |
| | | new DevelopmentCollectorStatusSynchronizer(simulator, store).synchronizeOnlineStatus(); |
| | | when(collectorService.selectRegisteredCollectorCodes()) |
| | | .thenReturn(Set.of("dev-sim-collector-1")) |
| | | .thenReturn(Set.of()); |
| | | |
| | | assertEquals(0, service.selectDiscoveredCollectorList().size()); |
| | | assertEquals(1, service.selectDiscoveredCollectorList().size()); |
| | | } |
| | | } |
| | | } |