Search in sources :

Example 1 with Matcher

use of org.apache.servicecomb.governance.marker.Matcher in project java-chassis by ServiceComb.

the class OperatorTest method test_exact_api_path_match_header_not_match.

@Test
public void test_exact_api_path_match_header_not_match() {
    GovernanceRequest request = new GovernanceRequest();
    request.setUri("/bulkhead");
    request.setMethod("GET");
    Map<String, String> reqHeaders = new HashMap<>();
    reqHeaders.put("header1", "value2");
    request.setHeaders(reqHeaders);
    Matcher matcher = new Matcher();
    RawOperator apiPath = new RawOperator();
    apiPath.put("exact", "/bulkhead");
    matcher.setApiPath(apiPath);
    matcher.setMethod(Arrays.asList("GET"));
    Map<String, RawOperator> headers = new HashMap<>();
    RawOperator header1 = new RawOperator();
    header1.put("exact", "value1");
    headers.put("header1", header1);
    matcher.setHeaders(headers);
    Assert.assertFalse(requestProcessor.match(request, matcher));
    reqHeaders.clear();
    request.setHeaders(reqHeaders);
    Assert.assertFalse(requestProcessor.match(request, matcher));
}
Also used : GovernanceRequest(org.apache.servicecomb.governance.marker.GovernanceRequest) HashMap(java.util.HashMap) Matcher(org.apache.servicecomb.governance.marker.Matcher) RawOperator(org.apache.servicecomb.governance.marker.operator.RawOperator) Test(org.junit.Test)

Example 2 with Matcher

use of org.apache.servicecomb.governance.marker.Matcher in project java-chassis by ServiceComb.

the class OperatorTest method test_exact_api_path_match.

@Test
public void test_exact_api_path_match() {
    GovernanceRequest request = new GovernanceRequest();
    request.setUri("/bulkhead");
    Matcher matcher = new Matcher();
    RawOperator apiPath = new RawOperator();
    apiPath.put("exact", "/bulkhead");
    matcher.setApiPath(apiPath);
    Assert.assertTrue(requestProcessor.match(request, matcher));
}
Also used : GovernanceRequest(org.apache.servicecomb.governance.marker.GovernanceRequest) Matcher(org.apache.servicecomb.governance.marker.Matcher) RawOperator(org.apache.servicecomb.governance.marker.operator.RawOperator) Test(org.junit.Test)

Example 3 with Matcher

use of org.apache.servicecomb.governance.marker.Matcher in project java-chassis by ServiceComb.

the class OperatorTest method test_unknown_operator.

@Test
public void test_unknown_operator() {
    GovernanceRequest request = new GovernanceRequest();
    request.setUri("/test");
    Matcher matcher = new Matcher();
    RawOperator apiPath = new RawOperator();
    apiPath.put("unknown", "/test");
    matcher.setApiPath(apiPath);
    Assert.assertFalse(requestProcessor.match(request, matcher));
}
Also used : GovernanceRequest(org.apache.servicecomb.governance.marker.GovernanceRequest) Matcher(org.apache.servicecomb.governance.marker.Matcher) RawOperator(org.apache.servicecomb.governance.marker.operator.RawOperator) Test(org.junit.Test)

Example 4 with Matcher

use of org.apache.servicecomb.governance.marker.Matcher in project incubator-servicecomb-java-chassis by apache.

the class GovernancePropertiesTest method test_match_properties_successfully_loaded.

@Test
public void test_match_properties_successfully_loaded() {
    Map<String, TrafficMarker> markers = matchProperties.getParsedEntity();
    Assert.assertEquals(4, markers.size());
    TrafficMarker demoRateLimiting = markers.get("demo-rateLimiting");
    List<Matcher> matchers = demoRateLimiting.getMatches();
    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());
}
Also used : Matcher(org.apache.servicecomb.governance.marker.Matcher) TrafficMarker(org.apache.servicecomb.governance.marker.TrafficMarker) Test(org.junit.Test)

Example 5 with Matcher

use of org.apache.servicecomb.governance.marker.Matcher in project incubator-servicecomb-java-chassis by apache.

the class OperatorTest method test_exact_api_path_match_header_match.

@Test
public void test_exact_api_path_match_header_match() {
    GovernanceRequest request = new GovernanceRequest();
    request.setUri("/bulkhead");
    request.setMethod("GET");
    Map<String, String> reqHeaders = new HashMap<>();
    reqHeaders.put("header1", "value1");
    request.setHeaders(reqHeaders);
    Matcher matcher = new Matcher();
    RawOperator apiPath = new RawOperator();
    apiPath.put("exact", "/bulkhead");
    matcher.setApiPath(apiPath);
    matcher.setMethod(Arrays.asList("GET"));
    Map<String, RawOperator> headers = new HashMap<>();
    RawOperator header1 = new RawOperator();
    header1.put("exact", "value1");
    headers.put("header1", header1);
    matcher.setHeaders(headers);
    Assert.assertTrue(requestProcessor.match(request, matcher));
}
Also used : GovernanceRequest(org.apache.servicecomb.governance.marker.GovernanceRequest) HashMap(java.util.HashMap) Matcher(org.apache.servicecomb.governance.marker.Matcher) RawOperator(org.apache.servicecomb.governance.marker.operator.RawOperator) Test(org.junit.Test)

Aggregations

Matcher (org.apache.servicecomb.governance.marker.Matcher)28 Test (org.junit.Test)28 GovernanceRequest (org.apache.servicecomb.governance.marker.GovernanceRequest)24 RawOperator (org.apache.servicecomb.governance.marker.operator.RawOperator)24 HashMap (java.util.HashMap)10 TrafficMarker (org.apache.servicecomb.governance.marker.TrafficMarker)4 GovernanceConfigurationChangedEvent (org.apache.servicecomb.governance.event.GovernanceConfigurationChangedEvent)2