add spring-cloud-incubator/spring-cloud-alibaba/#626 test cases
@@ -60,6 +60,9 @@ public class SentinelFeignTests {
@Autowired
private BarService barService;
+ @Autowired
+ private BazService bazService;
+
@Before
public void setUp() {
FlowRule rule1 = new FlowRule();
@@ -83,7 +86,14 @@ public class SentinelFeignTests {
rule3.setLimitApp("default");
rule3.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_DEFAULT);
rule3.setStrategy(RuleConstant.STRATEGY_DIRECT);
- FlowRuleManager.loadRules(Arrays.asList(rule1, rule2, rule3));
+ FlowRule rule4 = new FlowRule();
+ rule4.setGrade(RuleConstant.FLOW_GRADE_QPS);
+ rule4.setCount(0);
+ rule4.setResource("GET:http://baz-service/baz");
+ rule4.setLimitApp("default");
+ rule4.setControlBehavior(RuleConstant.CONTROL_BEHAVIOR_DEFAULT);
+ rule4.setStrategy(RuleConstant.STRATEGY_DIRECT);
+ FlowRuleManager.loadRules(Arrays.asList(rule1, rule2, rule3,rule4));
}
@Test
@@ -101,6 +111,9 @@ public class SentinelFeignTests {
assertThatExceptionOfType(Exception.class).isThrownBy(() -> {
barService.bar();
});
+ assertThatExceptionOfType(Exception.class).isThrownBy(() -> {
+ bazService.baz();
+ });
assertNotEquals("ToString method invoke was not in SentinelInvocationHandler",
echoService.toString(), fooService.toString());
@@ -146,6 +159,15 @@ public class SentinelFeignTests {
String bar();
}
+ public interface BazService {
+ @RequestMapping(path = "baz")
+ String baz();
+ }
+
+ @FeignClient(value = "baz-service")
+ public interface BazClient extends BazService {
+ }
+
public static class EchoServiceFallback implements EchoService {
@Override
