### Question:
EurekaDataSource extends AutoRefreshDataSource<String, T> { public EurekaDataSource(String appId, String instanceId, List<String> serviceUrls, String ruleKey, Converter<String, T> configParser) { this(appId, instanceId, serviceUrls, ruleKey, configParser, DEFAULT_REFRESH_MS, DEFAULT_CONNECT_TIMEOUT_MS, DEFAULT_READ_TIMEOUT_MS); } EurekaDataSource(String appId, String instanceId, List<String> serviceUrls, String ruleKey,
                            Converter<String, T> configParser);  EurekaDataSource(String appId, String instanceId, List<String> serviceUrls, String ruleKey,
                            Converter<String, T> configParser, long refreshMs, int connectTimeoutMills,
                            int readTimeoutMills); @Override String readSource();  }### Answer:
@Test public void testEurekaDataSource() throws Exception { String url = "http: EurekaDataSource<List<FlowRule>> eurekaDataSource = new EurekaDataSource(appname, instanceId, Arrays.asList(url) , SENTINEL_KEY, new Converter<String, List<FlowRule>>() { @Override public List<FlowRule> convert(String source) { return JSON.parseObject(source, new TypeReference<List<FlowRule>>() { }); } }); FlowRuleManager.register2Property(eurekaDataSource.getProperty()); await().timeout(15, TimeUnit.SECONDS) .until(new Callable<Boolean>() { @Override public Boolean call() throws Exception { return FlowRuleManager.getRules().size() > 0; } }); Assert.assertTrue(FlowRuleManager.getRules().size() > 0); }