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.device.registry.AdapterInstanceConfig; import com.ruoyi.device.registry.DeviceAdapterRegistry; class DeviceAdapterRuntimeConfigTest { @Test void registersDevelopmentSimulatorBeforeApplicationReady() throws Exception { DeviceAdapterRegistry registry = mock(DeviceAdapterRegistry.class); var runner = new DeviceAdapterRuntimeConfig().registerDevelopmentSimulatorAdapter(registry, 15021); runner.run(new DefaultApplicationArguments(new String[0])); ArgumentCaptor adapter = ArgumentCaptor.forClass(AdapterInstanceConfig.class); verify(registry).synchronize(adapter.capture()); assertEquals("dev-sim", adapter.getValue().adapterCode()); assertEquals("127.0.0.1", adapter.getValue().host()); assertEquals(15021, adapter.getValue().port()); assertEquals(5000, adapter.getValue().pollIntervalMs()); } }