You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2018/01/09 06:54:22 UTC

[incubator-servicecomb-java-chassis] 05/06: add ut test cases

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

wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 2a3ae01657c16494ff9d2a95eea273864a7d1928
Author: bao.liu <ba...@huawei.com>
AuthorDate: Mon Jan 8 16:07:02 2018 +0800

    add ut test cases
---
 .../java/io/servicecomb/core/TestTransport.java    | 45 ++++++++++++++++++----
 1 file changed, 37 insertions(+), 8 deletions(-)

diff --git a/core/src/test/java/io/servicecomb/core/TestTransport.java b/core/src/test/java/io/servicecomb/core/TestTransport.java
index 4fda7c7..d669df4 100644
--- a/core/src/test/java/io/servicecomb/core/TestTransport.java
+++ b/core/src/test/java/io/servicecomb/core/TestTransport.java
@@ -17,14 +17,24 @@
 
 package io.servicecomb.core;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.junit.Assert;
 import org.junit.Test;
 
 import io.servicecomb.core.endpoint.EndpointsCache;
+import io.servicecomb.core.transport.TransportManager;
 import io.servicecomb.serviceregistry.api.registry.Microservice;
+import io.servicecomb.serviceregistry.api.registry.MicroserviceInstance;
+import io.servicecomb.serviceregistry.cache.CacheEndpoint;
+import io.servicecomb.serviceregistry.cache.InstanceCache;
+import io.servicecomb.serviceregistry.cache.InstanceCacheManager;
 import io.servicecomb.swagger.invocation.AsyncResponse;
+import mockit.Expectations;
+import mockit.Injectable;
 import mockit.Mocked;
 
 public class TestTransport {
@@ -69,15 +79,34 @@ public class TestTransport {
   }
 
   @Test
-  public void testAbstractTransport(@Mocked Microservice microservice) throws Exception {
+  public void testAbstractTransport(@Mocked Microservice microservice,
+      @Injectable InstanceCacheManager instanceCacheManager, @Injectable TransportManager transportManager,
+      @Mocked InstanceCache instanceCache, @Injectable MicroserviceInstance instance)
+      throws Exception {
+    EndpointsCache.init(instanceCacheManager, transportManager);
+    EndpointsCache oEndpointsCache = new EndpointsCache("app", "testname", "test", "rest");
 
-    EndpointsCache oEndpointsCache = new EndpointsCache("app", "testname", "test", "test");
+    List<Endpoint> endpoionts = oEndpointsCache.getLatestEndpoints();
+    Assert.assertEquals(endpoionts.size(), 0);
 
-    try {
-      List<Endpoint> endpoionts = oEndpointsCache.getLatestEndpoints();
-      Assert.assertEquals(endpoionts.size(), 0);
-    } catch (Exception e) {
-      Assert.assertEquals(null, e.getMessage());
-    }
+    Map<String, List<CacheEndpoint>> allTransportMap = new HashMap<>();
+    CacheEndpoint cacheEndpoint = new CacheEndpoint("rest://127.0.0.1:9999", instance);
+    List<CacheEndpoint> restEndpoints = new ArrayList<>();
+    restEndpoints.add(cacheEndpoint);
+    allTransportMap.put("rest", restEndpoints);
+
+    new Expectations() {
+      {
+        instanceCacheManager.getOrCreate(anyString, anyString, anyString);
+        result = instanceCache;
+        instanceCache.cacheChanged((InstanceCache) any);
+        result = true;
+        instanceCache.getOrCreateTransportMap();
+        result = allTransportMap;
+      }
+    };
+
+    endpoionts = oEndpointsCache.getLatestEndpoints();
+    Assert.assertEquals(endpoionts.size(), 1);
   }
 }

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.