This is an automated email from the ASF dual-hosted git repository.

victory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git


The following commit(s) were added to refs/heads/master by this push:
     new 2fbdecf  fix async store test fail issue
2fbdecf is described below

commit 2fbdecf823fcd6b05d43a12e6fee585cd599b640
Author: cvictory <[email protected]>
AuthorDate: Fri Dec 28 19:48:41 2018 +0800

    fix async store test fail issue
---
 .../dubbo/config/RegistryDataConfigTest.java       | 102 ---------------------
 .../apache/dubbo/config/RegistryDataConfig.java    |  24 -----
 .../store/redis/RedisMetadataReportTest.java       |  30 +++++-
 .../zookeeper/ZookeeperMetadataReportTest.java     |   4 +-
 4 files changed, 28 insertions(+), 132 deletions(-)

diff --git 
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
 
b/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
deleted file mode 100644
index 930ed3f..0000000
--- 
a/dubbo-compatible/src/test/java/org/apache/dubbo/config/RegistryDataConfigTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.config;
-
-import org.junit.Assert;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.util.Map;
-
-@Ignore("Waiting for cvictory to fix")
-public class RegistryDataConfigTest {
-
-    @Test
-    public void testProviderNoValue(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderConfig(false);
-        registryDataConfig.setExtraProviderKeys("xxx,sss");
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertTrue(result.isEmpty());
-    }
-
-    @Test
-    public void testProviderNoParamKey(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderConfig(true);
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
-        Assert.assertNull(result.get("extraProviderKeys"));
-    }
-
-    @Test
-    public void testProviderHasParamKey(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleProviderConfig(true);
-        registryDataConfig.setExtraProviderKeys("xxx,sss");
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
-        Assert.assertEquals(result.get("extraProviderKeys"), "xxx,sss");
-    }
-
-    @Test
-    public void testConsumerNoValue(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerConfig(false);
-        registryDataConfig.setExtraConsumerKeys("xxx,sss");
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertTrue(result.isEmpty());
-    }
-
-    @Test
-    public void testConsumerNoParamKey(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerConfig(true);
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
-        Assert.assertNull(result.get("extraConsumerKeys"));
-    }
-
-    @Test
-    public void testConsumerHasParamKey(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerConfig(true);
-        registryDataConfig.setExtraConsumerKeys("xxx,sss");
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertFalse(result.isEmpty());
-        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
-        Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
-    }
-
-    @Test
-    public void testMixHasParamKey(){
-        RegistryDataConfig registryDataConfig = new RegistryDataConfig();
-        registryDataConfig.setSimpleConsumerConfig(true);
-        registryDataConfig.setExtraConsumerKeys("xxx,sss");
-        registryDataConfig.setSimpleProviderConfig(true);
-        registryDataConfig.setExtraProviderKeys("yyy,xxx");
-        Map<String,String> result = registryDataConfig.transferToMap();
-        Assert.assertTrue(result.size() == 4);
-        Assert.assertEquals(result.get("simpleProviderConfig"), "true");
-        Assert.assertEquals(result.get("extraProviderKeys"), "yyy,xxx");
-        Assert.assertEquals(result.get("simpleConsumerConfig"), "true");
-        Assert.assertEquals(result.get("extraConsumerKeys"), "xxx,sss");
-    }
-}
diff --git 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
index 1b41e2e..f96044d 100644
--- 
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
+++ 
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/RegistryDataConfig.java
@@ -16,12 +16,6 @@
  */
 package org.apache.dubbo.config;
 
-import org.apache.dubbo.common.Constants;
-import org.apache.dubbo.common.utils.StringUtils;
-
-import java.util.HashMap;
-import java.util.Map;
-
 /**
  * 2018/10/31
  */
@@ -33,24 +27,6 @@ public class RegistryDataConfig extends AbstractConfig {
     private Boolean simpleConsumerConfig;
     private String extraConsumerKeys;
 
-    Map<String, String> transferToMap() {
-        Map<String, String> map = new HashMap<String, String>(4);
-        if (simpleProviderConfig != null && simpleProviderConfig) {
-            map.put(Constants.SIMPLE_PROVIDER_CONFIG_KEY, 
Boolean.TRUE.toString());
-            if (StringUtils.isNotEmpty(extraProviderKeys)) {
-                map.put(Constants.EXTRA_PROVIDER_CONFIG_KEYS_KEY, 
extraProviderKeys.trim());
-            }
-        }
-        if (simpleConsumerConfig != null && simpleConsumerConfig) {
-            map.put(Constants.SIMPLE_CONSUMER_CONFIG_KEY, 
Boolean.TRUE.toString());
-            if (StringUtils.isNotEmpty(extraConsumerKeys)) {
-                map.put(Constants.EXTRA_CONSUMER_CONFIG_KEYS_KEY, 
extraConsumerKeys.trim());
-            }
-        }
-
-        return map;
-    }
-
     public Boolean getSimpleProviderConfig() {
         return simpleProviderConfig;
     }
diff --git 
a/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
 
b/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
index deb08de..8c6e32d 100644
--- 
a/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
+++ 
b/dubbo-metadata-report/dubbo-metadata-report-redis/src/test/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReportTest.java
@@ -36,6 +36,7 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 
+import static org.apache.dubbo.common.Constants.SYNC_REPORT_KEY;
 import static 
org.apache.dubbo.metadata.store.MetadataReport.META_DATA_SOTRE_TAG;
 
 /**
@@ -43,6 +44,7 @@ import static 
org.apache.dubbo.metadata.store.MetadataReport.META_DATA_SOTRE_TAG
  */
 public class RedisMetadataReportTest {
     RedisMetadataReport redisMetadataReport;
+    RedisMetadataReport syncRedisMetadataReport;
     RedisServer redisServer;
 
     @Before
@@ -52,6 +54,8 @@ public class RedisMetadataReportTest {
         this.redisServer.start();
         URL registryUrl = URL.valueOf("redis://localhost:" + redisPort);
         redisMetadataReport = (RedisMetadataReport) new 
RedisMetadataReportFactory().createMetadataReport(registryUrl);
+        URL asyncRegistryUrl = URL.valueOf("redis://localhost:" + redisPort + 
"?" + SYNC_REPORT_KEY + "=true");
+        syncRedisMetadataReport = (RedisMetadataReport) new 
RedisMetadataReportFactory().createMetadataReport(registryUrl);
     }
 
     @After
@@ -61,14 +65,23 @@ public class RedisMetadataReportTest {
 
 
     @Test
-    public void testStoreProvider() throws ClassNotFoundException {
+    public void testAsyncStoreProvider() throws ClassNotFoundException {
+        testStoreProvider(redisMetadataReport, "1.0.0.redis.md.p1", 3000);
+    }
+
+    @Test
+    public void testSyncStoreProvider() throws ClassNotFoundException {
+        testStoreProvider(syncRedisMetadataReport, "1.0.0.redis.md.p2", 3);
+    }
+
+    private void testStoreProvider(RedisMetadataReport redisMetadataReport, 
String version, long moreTime) throws ClassNotFoundException {
         String interfaceName = 
"org.apache.dubbo.metadata.store.redis.RedisMetadata4TstService";
-        String version = "1.0.0.redis.md";
         String group = null;
         String application = "vic.redis.md";
         MetadataIdentifier providerMetadataIdentifier = 
storePrivider(redisMetadataReport, interfaceName, version, group, application);
         Jedis jedis = null;
         try {
+            Thread.sleep(moreTime);
             jedis = redisMetadataReport.pool.getResource();
             String value = 
jedis.get(providerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)
 + META_DATA_SOTRE_TAG);
             Assert.assertNotNull(value);
@@ -87,14 +100,23 @@ public class RedisMetadataReportTest {
     }
 
     @Test
-    public void testStoreConsumer() throws ClassNotFoundException {
+    public void testAsyncStoreConsumer() throws ClassNotFoundException {
+        testStoreProvider(redisMetadataReport, "1.0.0.redis.md.c1", 3000);
+    }
+
+    @Test
+    public void testSyncStoreConsumer() throws ClassNotFoundException {
+        testStoreProvider(syncRedisMetadataReport, "1.0.0.redis.md.c2", 3);
+    }
+
+    private void testStoreConsumer(RedisMetadataReport redisMetadataReport, 
String version, long moreTime) throws ClassNotFoundException {
         String interfaceName = 
"org.apache.dubbo.metadata.store.redis.RedisMetadata4TstService";
-        String version = "1.0.0.redis.md";
         String group = null;
         String application = "vic.redis.md";
         MetadataIdentifier consumerMetadataIdentifier = 
storeConsumer(redisMetadataReport, interfaceName, version, group, application);
         Jedis jedis = null;
         try {
+            Thread.sleep(moreTime);
             jedis = redisMetadataReport.pool.getResource();
             String value = 
jedis.get(consumerMetadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.UNIQUE_KEY)
 + META_DATA_SOTRE_TAG);
             Assert.assertEquals(value, "{\"paramConsumerTest\":\"redisCm\"}");
diff --git 
a/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
 
b/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
index 2d79d1f..d3a4e7a 100644
--- 
a/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
+++ 
b/dubbo-metadata-report/dubbo-metadata-report-zookeeper/src/test/java/org/apache/dubbo/metadata/store/zookeeper/ZookeeperMetadataReportTest.java
@@ -123,7 +123,7 @@ public class ZookeeperMetadataReportTest {
         FullServiceDefinition fullServiceDefinition = 
ServiceDefinitionBuilder.buildFullDefinition(interfaceClass, 
url.getParameters());
 
         
zookeeperMetadataReport.storeProviderMetadata(providerMetadataIdentifier, 
fullServiceDefinition);
-        Thread.sleep(300);
+        Thread.sleep(2000);
         return providerMetadataIdentifier;
     }
 
@@ -137,7 +137,7 @@ public class ZookeeperMetadataReportTest {
         Map<String, String> tmp = new HashMap<>();
         tmp.put("paramConsumerTest", "zkCm");
         
zookeeperMetadataReport.storeConsumerMetadata(consumerMetadataIdentifier, tmp);
-        Thread.sleep(300);
+        Thread.sleep(2000);
 
         return consumerMetadataIdentifier;
     }

Reply via email to