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: 灼华 <[email protected]>
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());
}
}