package com.ruoyi.config; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import org.junit.jupiter.api.Test; import org.springframework.boot.DefaultApplicationArguments; import org.mockito.ArgumentCaptor; import com.ruoyi.system.domain.TDeviceAdapter; import com.ruoyi.system.service.IDeviceAdapterService; class DeviceAdapterRuntimeConfigTest { @Test void registersDevelopmentSimulatorBeforeApplicationReady() throws Exception { IDeviceAdapterService service = mock(IDeviceAdapterService.class); var runner = new DeviceAdapterRuntimeConfig().registerDevelopmentSimulatorAdapter(service); runner.run(new DefaultApplicationArguments(new String[0])); ArgumentCaptor adapter = ArgumentCaptor.forClass(TDeviceAdapter.class); verify(service).ensureManagedAdapter(adapter.capture()); assertEquals("dev-sim", adapter.getValue().getAdapterCode()); assertEquals("127.0.0.1", adapter.getValue().getHost()); assertEquals(15020, adapter.getValue().getPort()); assertEquals(5000, adapter.getValue().getPollIntervalMs()); } }