package com.ruoyi.device.registry; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; import java.util.List; import org.junit.jupiter.api.Test; import com.ruoyi.device.bts.BtsDeviceAdapterFactory; import com.ruoyi.device.bts.ScriptedBtsTcpSimulator; import com.ruoyi.device.model.AdapterCapabilities; class BtsDeviceAdapterFactoryContractTest { @Test void discoversSimulatorChannelsThroughConfiguredReadOnlyRegistry() throws Exception { try (ScriptedBtsTcpSimulator simulator = new ScriptedBtsTcpSimulator(); DeviceAdapterRegistry registry = new DeviceAdapterRegistry(List.of(new BtsDeviceAdapterFactory()))) { simulator.enqueue("getdevinfo_resp" + "true" + ""); registry.synchronize(new AdapterInstanceConfig("lab-bts", "BTS", "127.0.0.1", simulator.port(), 5000, "Asia/Hong_Kong", true, AdapterCapabilities.observeOnly())); var adapter = registry.execute("lab-bts", value -> value); var discovered = adapter.discoverChannels(); assertEquals("22-1-2-3", discovered.get(0).identity().vendorKey()); assertEquals("192.168.1.35", discovered.get(0).serverIp()); assertFalse(adapter.capabilities().control()); } } }