From d09da4678aa6bb8849621c387609a33d54773875 Mon Sep 17 00:00:00 2001 From: lucas-myx Date: Fri, 19 Jan 2024 14:03:14 +0800 Subject: [PATCH] feat: optimize name --- .../runtime/match/AbstractMatchStrategy.java | 12 ++++-------- .../runtime/match/AccurateMatchStrategy.java | 12 +++++------- .../inst/runtime/match/EigenMatchStrategy.java | 4 ---- .../inst/runtime/match/FuzzyMatchStrategy.java | 6 +----- .../runtime/match/AbstractMatchStrategyTest.java | 16 ++++++++++------ .../runtime/match/AccurateMatchStrategyTest.java | 9 ++------- .../runtime/match/EigenMatchStrategyTest.java | 5 ----- .../runtime/match/FuzzyMatchStrategyTest.java | 9 ++------- 8 files changed, 24 insertions(+), 49 deletions(-) diff --git a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AbstractMatchStrategy.java b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AbstractMatchStrategy.java index 0560d1b01..f09038ab4 100644 --- a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AbstractMatchStrategy.java +++ b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AbstractMatchStrategy.java @@ -6,13 +6,10 @@ public abstract class AbstractMatchStrategy { static final String MATCH_TITLE = "replay.match.fail"; - static final int ACCURATE_MATCH_ORDER = 10; - static final int FUZZY_MATCH_ORDER = 20; - static final int EIGEN_MATCH_ORDER = 30; public void match(MatchStrategyContext context) { try { - if (check(context)) { + if (support(context)) { process(context); } } catch (Exception e) { @@ -20,17 +17,16 @@ public void match(MatchStrategyContext context) { } } - private boolean check(MatchStrategyContext context) { + private boolean support(MatchStrategyContext context) { if (context == null || context.getRequestMocker() == null || context.isInterrupt()) { return false; } - return valid(context); + return internalCheck(context); } - boolean valid(MatchStrategyContext context) { + boolean internalCheck(MatchStrategyContext context) { return true; } - abstract int order(); abstract void process(MatchStrategyContext context) throws Exception; Mocker buildMatchedMocker(Mocker requestMocker, MergeDTO mergeReplayDTO) { diff --git a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AccurateMatchStrategy.java b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AccurateMatchStrategy.java index 030c1d479..2a86566bc 100644 --- a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AccurateMatchStrategy.java +++ b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/AccurateMatchStrategy.java @@ -19,7 +19,7 @@ void process(MatchStrategyContext context) { Mocker requestMocker = context.getRequestMocker(); List mergeReplayList = context.getMergeReplayList(); int methodSignatureHash = MockUtils.methodSignatureHash(requestMocker); - List matchedList = new ArrayList<>(); + List matchedList = new ArrayList<>(mergeReplayList.size()); for (MergeDTO mergeDTO : mergeReplayList) { if (methodSignatureHash == mergeDTO.getMethodSignatureHash()) { matchedList.add(mergeDTO); @@ -41,24 +41,22 @@ void process(MatchStrategyContext context) { } // other modes can only be matched once, so interrupt and not continue next fuzzy match context.setInterrupt(true); + return; } // matched multiple result(like as redis: incr、decr) only retain matched item for next fuzzy match if (matchedCount > 1) { context.setMergeReplayList(matchedList); + return; } // if strict match mode and not matched, interrupt and not continue next fuzzy match - if (matchedCount == 0 && MockStrategyEnum.STRICT_MATCH == context.getMockStrategy()) { + if (MockStrategyEnum.STRICT_MATCH == context.getMockStrategy()) { context.setInterrupt(true); } } @Override - boolean valid(MatchStrategyContext context) { + boolean internalCheck(MatchStrategyContext context) { // if no request params, do next fuzzy match directly return StringUtil.isNotEmpty(context.getRequestMocker().getTargetRequest().getBody()); } - - int order() { - return ACCURATE_MATCH_ORDER; - } } diff --git a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/EigenMatchStrategy.java b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/EigenMatchStrategy.java index 8bb846aa2..0ab3e7bf4 100644 --- a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/EigenMatchStrategy.java +++ b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/EigenMatchStrategy.java @@ -8,8 +8,4 @@ public class EigenMatchStrategy extends AbstractMatchStrategy{ void process(MatchStrategyContext context) { // to be implemented after database merge replay support } - - int order() { - return EIGEN_MATCH_ORDER; - } } diff --git a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/FuzzyMatchStrategy.java b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/FuzzyMatchStrategy.java index 6f3b901a6..7395776fc 100644 --- a/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/FuzzyMatchStrategy.java +++ b/arex-instrumentation-api/src/main/java/io/arex/inst/runtime/match/FuzzyMatchStrategy.java @@ -41,11 +41,7 @@ void process(MatchStrategyContext context) { } @Override - boolean valid(MatchStrategyContext context) { + boolean internalCheck(MatchStrategyContext context) { return CollectionUtil.isNotEmpty(context.getMergeReplayList()); } - - int order() { - return FUZZY_MATCH_ORDER; - } } diff --git a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AbstractMatchStrategyTest.java b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AbstractMatchStrategyTest.java index 7a041499f..29c758752 100644 --- a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AbstractMatchStrategyTest.java +++ b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AbstractMatchStrategyTest.java @@ -7,14 +7,21 @@ import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import java.util.ArrayList; + import static org.junit.jupiter.api.Assertions.*; class AbstractMatchStrategyTest { - static AbstractMatchStrategy target; + static ArexMocker mocker; + @BeforeAll static void setUp() { - target = new FuzzyMatchStrategy(); + target = new AccurateMatchStrategy(); + mocker = new ArexMocker(); + mocker.setTargetResponse(new Mocker.Target()); + mocker.setTargetRequest(new Mocker.Target()); + mocker.getTargetRequest().setBody("mock"); } @AfterAll @@ -25,15 +32,12 @@ static void tearDown() { @Test void match() { assertDoesNotThrow(() -> target.match(null)); - MatchStrategyContext context = new MatchStrategyContext(new ArexMocker(), null, null); + MatchStrategyContext context = new MatchStrategyContext(mocker, new ArrayList<>(), null); assertDoesNotThrow(() -> target.match(context)); } @Test void buildMatchedMocker() { - ArexMocker mocker = new ArexMocker(); - mocker.setTargetResponse(new Mocker.Target()); - mocker.setTargetRequest(new Mocker.Target()); Mocker result = target.buildMatchedMocker(mocker, null); assertNull(result); result = target.buildMatchedMocker(mocker, new MergeDTO()); diff --git a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AccurateMatchStrategyTest.java b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AccurateMatchStrategyTest.java index 9264826af..1143980a0 100644 --- a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AccurateMatchStrategyTest.java +++ b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/AccurateMatchStrategyTest.java @@ -88,14 +88,9 @@ static Stream processCase() { } @Test - void valid() { + void internalCheck() { ArexMocker mocker = new ArexMocker(); mocker.setTargetRequest(new Mocker.Target()); - assertFalse(accurateMatchStrategy.valid(new MatchStrategyContext(mocker, null, null))); - } - - @Test - void order() { - assertEquals(10, accurateMatchStrategy.order()); + assertFalse(accurateMatchStrategy.internalCheck(new MatchStrategyContext(mocker, null, null))); } } \ No newline at end of file diff --git a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/EigenMatchStrategyTest.java b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/EigenMatchStrategyTest.java index 0b15ade6e..bf993f056 100644 --- a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/EigenMatchStrategyTest.java +++ b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/EigenMatchStrategyTest.java @@ -18,9 +18,4 @@ static void setUp() { static void tearDown() { eigenMatchStrategy = null; } - - @Test - void order() { - assertEquals(30, eigenMatchStrategy.order()); - } } \ No newline at end of file diff --git a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/FuzzyMatchStrategyTest.java b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/FuzzyMatchStrategyTest.java index 3d1ab3d74..8b10bb098 100644 --- a/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/FuzzyMatchStrategyTest.java +++ b/arex-instrumentation-api/src/test/java/io/arex/inst/runtime/match/FuzzyMatchStrategyTest.java @@ -54,12 +54,7 @@ void process() { } @Test - void valid() { - assertFalse(fuzzyMatchStrategy.valid(new MatchStrategyContext(null, null, null))); - } - - @Test - void order() { - assertEquals(20, fuzzyMatchStrategy.order()); + void internalCheck() { + assertFalse(fuzzyMatchStrategy.internalCheck(new MatchStrategyContext(null, null, null))); } } \ No newline at end of file