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);
    }
@Test
    public void testEurekaDataSource() throws Exception {
        String url = "http://localhost:" + port + "/eureka";

        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);
    }