You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/08/11 04:17:07 UTC

[dubbo] branch 3.0 updated: Add unit test for VirtualServiceRule (#8428)

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

albumenj pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 4756ad8  Add unit test for VirtualServiceRule (#8428)
4756ad8 is described below

commit 4756ad8ce8d20c02a585482ecd432f2cbeec3bb2
Author: 灼华 <43...@users.noreply.github.com>
AuthorDate: Wed Aug 11 12:16:48 2021 +0800

    Add unit test for VirtualServiceRule (#8428)
    
    * Add unit test for VirtualServiceRule
    
    * FIX UT
---
 .../router/mesh/rule/VirtualServiceRuleTest.java   | 43 ++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VirtualServiceRuleTest.java b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VirtualServiceRuleTest.java
index 9fa2098..de3383d 100644
--- a/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VirtualServiceRuleTest.java
+++ b/dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/mesh/rule/VirtualServiceRuleTest.java
@@ -17,11 +17,17 @@
 
 package org.apache.dubbo.rpc.cluster.router.mesh.rule;
 
+import org.apache.dubbo.rpc.cluster.router.mesh.rule.virtualservice.DubboRoute;
+import org.apache.dubbo.rpc.cluster.router.mesh.rule.virtualservice.DubboRouteDetail;
 import org.apache.dubbo.rpc.cluster.router.mesh.rule.virtualservice.VirtualServiceRule;
 import org.junit.jupiter.api.Test;
 import org.yaml.snakeyaml.Yaml;
 
+import java.util.List;
+
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 
 public class VirtualServiceRuleTest {
@@ -33,6 +39,43 @@ public class VirtualServiceRuleTest {
 
         System.out.println(virtualServiceRule);
         assertNotNull(virtualServiceRule);
+
+        assertEquals("service.dubbo.apache.org/v1alpha1", virtualServiceRule.getApiVersion());
+        assertEquals("VirtualService", virtualServiceRule.getKind());
+        assertEquals("demo-route", virtualServiceRule.getMetadata().get("name"));
+
+        List<String> hosts = virtualServiceRule.getSpec().getHosts();
+        assertEquals(1, hosts.size());
+        assertEquals("demo", hosts.get(0));
+
+        List<DubboRoute> dubboRoutes = virtualServiceRule.getSpec().getDubbo();
+        assertEquals(1, dubboRoutes.size());
+
+        DubboRoute dubboRoute = dubboRoutes.get(0);
+        assertNull(dubboRoute.getName());
+
+        assertEquals(1, dubboRoute.getServices().size());
+        assertEquals("ccc", dubboRoute.getServices().get(0).getRegex());
+
+        List<DubboRouteDetail> routedetail = dubboRoute.getRoutedetail();
+        DubboRouteDetail firstDubboRouteDetail = routedetail.get(0);
+        DubboRouteDetail secondDubboRouteDetail = routedetail.get(1);
+        DubboRouteDetail thirdDubboRouteDetail = routedetail.get(2);
+
+        assertEquals("xxx-project", firstDubboRouteDetail.getName());
+        assertEquals("xxx", firstDubboRouteDetail.getMatch().get(0).getSourceLabels().get("trafficLabel"));
+        assertEquals("demo", firstDubboRouteDetail.getRoute().get(0).getDestination().getHost());
+        assertEquals("isolation", firstDubboRouteDetail.getRoute().get(0).getDestination().getSubset());
+
+        assertEquals("testing-trunk", secondDubboRouteDetail.getName());
+        assertEquals("testing-trunk", secondDubboRouteDetail.getMatch().get(0).getSourceLabels().get("trafficLabel"));
+        assertEquals("demo", secondDubboRouteDetail.getRoute().get(0).getDestination().getHost());
+        assertEquals("testing-trunk", secondDubboRouteDetail.getRoute().get(0).getDestination().getSubset());
+
+        assertEquals("testing", thirdDubboRouteDetail.getName());
+        assertNull(thirdDubboRouteDetail.getMatch());
+        assertEquals("demo", thirdDubboRouteDetail.getRoute().get(0).getDestination().getHost());
+        assertEquals("testing", thirdDubboRouteDetail.getRoute().get(0).getDestination().getSubset());
     }
 
 }