You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/06/17 15:06:15 UTC

[servicecomb-java-chassis] branch master updated: [SCB-2281]governance match support multiple items (#2421)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4279e58  [SCB-2281]governance match support multiple items (#2421)
4279e58 is described below

commit 4279e58375323e0d88bd02242b92d2ebbeea10c4
Author: liubao68 <bi...@qq.com>
AuthorDate: Thu Jun 17 23:06:08 2021 +0800

    [SCB-2281]governance match support multiple items (#2421)
---
 .../java/org/apache/servicecomb/governance/marker/Matcher.java | 10 ++++++++++
 .../servicecomb/governance/GovernancePropertiesTest.java       |  7 +++++++
 governance/src/test/resources/application.yaml                 |  7 ++++++-
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java b/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
index 7b4a6c8..95184a4 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/marker/Matcher.java
@@ -22,6 +22,8 @@ import java.util.Map;
 import org.apache.servicecomb.governance.marker.operator.RawOperator;
 
 public class Matcher {
+  private String name;
+
   private Map<String, RawOperator> headers;
 
   private RawOperator apiPath;
@@ -51,4 +53,12 @@ public class Matcher {
   public void setMethod(List<String> method) {
     this.method = method;
   }
+
+  public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
 }
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
index 89842c9..212d9d1 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
@@ -121,6 +121,13 @@ public class GovernancePropertiesTest {
     Assert.assertEquals(1, matchers.size());
     Matcher matcher = matchers.get(0);
     Assert.assertEquals("/hello", matcher.getApiPath().get("exact"));
+
+    TrafficMarker demoBulkhead = markers.get("demo-bulkhead");
+    matchers = demoBulkhead.getMatches();
+    Assert.assertEquals(2, matchers.size());
+    matcher = matchers.get(0);
+    Assert.assertEquals("/bulkhead", matcher.getApiPath().get("exact"));
+    Assert.assertEquals("matchPath", matcher.getName());
   }
 
   @Test
diff --git a/governance/src/test/resources/application.yaml b/governance/src/test/resources/application.yaml
index 5875e83..d68c1af 100644
--- a/governance/src/test/resources/application.yaml
+++ b/governance/src/test/resources/application.yaml
@@ -33,8 +33,13 @@ servicecomb:
             exact: "/circuitBreaker"
     demo-bulkhead: |
       matches:
-        - apiPath:
+        - name: matchPath
+          apiPath:
             exact: "/bulkhead"
+        - name: matchHeader
+          headers:
+            x-token:
+              exact: token
     demo-bulkhead-other: |
       matches:
         - apiPath: