public ServiceInfo getService(String key) {
        ServiceInfo serviceInfo = serviceMap.get(key);
        
        if (serviceInfo == null) {
            serviceInfo = new ServiceInfo();
            serviceInfo.setName(key);
        }
        
        return serviceInfo;
    }
@Test
    void testRefreshFromDisabledToEnabled() throws InterruptedException {
        // make sure the first no delay refresh thread finished.
        TimeUnit.MILLISECONDS.sleep(500);
        FailoverSwitch mockFailoverSwitch = new FailoverSwitch(true);
        when(failoverDataSource.getSwitch()).thenReturn(mockFailoverSwitch);
        Map<String, FailoverData> map = new HashMap<>();
        ServiceInfo serviceInfo = new ServiceInfo("a@@b");
        serviceInfo.addHost(new Instance());
        map.put("a@@b", NamingFailoverData.newNamingFailoverData(serviceInfo));
        when(failoverDataSource.getFailoverData()).thenReturn(map);
        // waiting refresh thread work
        TimeUnit.MILLISECONDS.sleep(5500);
        ServiceInfo actual = failoverReactor.getService("a@@b");
        assertEquals(serviceInfo, actual);
    }