1
- //package io.arex.inst.runtime.match;
2
- //
3
- //import io.arex.agent.bootstrap.model.ArexMocker;
4
- //import io.arex.agent.bootstrap.model.MockCategoryType;
5
- //import io.arex.agent.bootstrap.model.MockStrategyEnum;
6
- //import io.arex.agent.bootstrap.model.Mocker;
7
- //import io.arex.inst.runtime.match.strategy.AccurateMatchStrategy;
8
- //import io.arex.inst.runtime.util.MockUtils;
9
- //import org.junit.jupiter.api.AfterAll;
10
- //import org.junit.jupiter.api.BeforeAll;
11
- //import org.junit.jupiter.api.Test;
12
- //import org.junit.jupiter.params.ParameterizedTest;
13
- //import org.junit.jupiter.params.provider.Arguments;
14
- //import org.junit.jupiter.params.provider.MethodSource;
15
- //import org.mockito.Mockito;
16
- //
17
- //import java.util.ArrayList;
18
- //import java.util.List;
19
- //import java.util.function.Predicate;
20
- //import java.util.function.Supplier;
21
- //import java.util.stream.Stream;
22
- //
23
- //import static org.junit.jupiter.api.Assertions.*;
24
- //import static org.junit.jupiter.params.provider.Arguments.arguments;
25
- //
26
- //class AccurateMatchStrategyTest {
27
- //
28
- // static AccurateMatchStrategy accurateMatchStrategy;
29
- //
30
- // @BeforeAll
31
- // static void setUp() {
32
- // accurateMatchStrategy = new AccurateMatchStrategy();
33
- // Mockito.mockStatic(MockUtils.class);
34
- // }
35
- //
36
- // @AfterAll
37
- // static void tearDown() {
38
- // accurateMatchStrategy = null;
39
- // Mockito.clearAllCaches();
40
- // }
41
- //
42
- // @ParameterizedTest
43
- // @MethodSource("processCase")
44
- // void process(MatchStrategyContext context, Predicate<MatchStrategyContext> asserts) {
45
- // accurateMatchStrategy.process(context);
46
- // asserts.test(context);
47
- // }
48
- //
49
- // static Stream<Arguments> processCase() {
50
- // Supplier<MatchStrategyContext> contextSupplier1 = () -> {
51
- // ArexMocker mocker = new ArexMocker();
52
- // mocker.setTargetResponse(new Mocker.Target());
53
- // mocker.setTargetRequest(new Mocker.Target());
54
- // mocker.setCategoryType(MockCategoryType.DYNAMIC_CLASS);
55
- // List<Mocker> mergeReplayList = new ArrayList<>();
56
- // mergeReplayList.add(new ArexMocker());
57
- // return new MatchStrategyContext(mocker, mergeReplayList, MockStrategyEnum.FIND_LAST);
58
- // };
59
- // Supplier<MatchStrategyContext> contextSupplier2 = () -> {
60
- // MatchStrategyContext context = contextSupplier1.get();
61
- // context.getReplayList().get(0).setMatched(true);
62
- // context.setMockStrategy(MockStrategyEnum.STRICT_MATCH);
63
- // return context;
64
- // };
65
- // Supplier<MatchStrategyContext> contextSupplier3 = () -> {
66
- // MatchStrategyContext context = contextSupplier1.get();
67
- // context.getReplayList().add(new ArexMocker());
68
- // return context;
69
- // };
70
- // Supplier<MatchStrategyContext> contextSupplier4 = () -> {
71
- // MatchStrategyContext context = contextSupplier1.get();
72
- // context.getReplayList().get(0).setMethodSignatureHash(1);
73
- // context.setMockStrategy(MockStrategyEnum.STRICT_MATCH);
74
- // return context;
75
- // };
76
- //
77
- // Predicate<MatchStrategyContext> asserts1 = context -> !context.isInterrupt();
78
- // Predicate<MatchStrategyContext> asserts2 = MatchStrategyContext::isInterrupt;
79
- //
80
- // return Stream.of(
81
- // arguments(contextSupplier1.get(), asserts1),
82
- // arguments(contextSupplier2.get(), asserts2),
83
- // arguments(contextSupplier3.get(), asserts1),
84
- // arguments(contextSupplier4.get(), asserts2)
85
- // );
86
- // }
87
- //
88
- // @Test
89
- // void internalCheck() {
90
- // ArexMocker mocker = new ArexMocker();
91
- // mocker.setTargetRequest(new Mocker.Target());
92
- // assertFalse(accurateMatchStrategy.internalCheck(new MatchStrategyContext(mocker, null, null)));
93
- // }
94
- //}
1
+ package io .arex .inst .runtime .match ;
2
+
3
+ import io .arex .agent .bootstrap .model .ArexMocker ;
4
+ import io .arex .agent .bootstrap .model .MockCategoryType ;
5
+ import io .arex .agent .bootstrap .model .MockStrategyEnum ;
6
+ import io .arex .agent .bootstrap .model .Mocker ;
7
+ import io .arex .inst .runtime .match .strategy .AccurateMatchStrategy ;
8
+ import io .arex .inst .runtime .util .MockUtils ;
9
+ import org .junit .jupiter .api .AfterAll ;
10
+ import org .junit .jupiter .api .BeforeAll ;
11
+ import org .junit .jupiter .api .Test ;
12
+ import org .junit .jupiter .params .ParameterizedTest ;
13
+ import org .junit .jupiter .params .provider .Arguments ;
14
+ import org .junit .jupiter .params .provider .MethodSource ;
15
+ import org .mockito .Mockito ;
16
+
17
+ import java .util .ArrayList ;
18
+ import java .util .List ;
19
+ import java .util .function .Predicate ;
20
+ import java .util .function .Supplier ;
21
+ import java .util .stream .Stream ;
22
+
23
+ import static org .junit .jupiter .api .Assertions .*;
24
+ import static org .junit .jupiter .params .provider .Arguments .arguments ;
25
+
26
+ class AccurateMatchStrategyTest {
27
+
28
+ static AccurateMatchStrategy accurateMatchStrategy ;
29
+
30
+ @ BeforeAll
31
+ static void setUp () {
32
+ accurateMatchStrategy = new AccurateMatchStrategy ();
33
+ Mockito .mockStatic (MockUtils .class );
34
+ }
35
+
36
+ @ AfterAll
37
+ static void tearDown () {
38
+ accurateMatchStrategy = null ;
39
+ Mockito .clearAllCaches ();
40
+ }
41
+
42
+ @ ParameterizedTest
43
+ @ MethodSource ("processCase" )
44
+ void process (MatchStrategyContext context , Predicate <MatchStrategyContext > asserts ) {
45
+ accurateMatchStrategy .process (context );
46
+ asserts .test (context );
47
+ }
48
+
49
+ static Stream <Arguments > processCase () {
50
+ Supplier <MatchStrategyContext > contextSupplier1 = () -> {
51
+ ArexMocker mocker = new ArexMocker (MockCategoryType .DYNAMIC_CLASS );
52
+ mocker .setOperationName ("mock" );
53
+ mocker .setTargetRequest (new Mocker .Target ());
54
+ mocker .getTargetRequest ().setBody ("mock" );
55
+ mocker .setTargetResponse (new Mocker .Target ());
56
+ mocker .setAccurateMatchKey (MatchKeyFactory .INSTANCE .getAccurateMatchKey (mocker ));
57
+ List <Mocker > mergeReplayList = new ArrayList <>();
58
+ mergeReplayList .add (mocker );
59
+ MatchStrategyContext context = new MatchStrategyContext (mocker , MockStrategyEnum .FIND_LAST );
60
+ context .setRecordList (mergeReplayList );
61
+ return context ;
62
+ };
63
+ Supplier <MatchStrategyContext > contextSupplier2 = () -> {
64
+ MatchStrategyContext context = contextSupplier1 .get ();
65
+ context .getRecordList ().get (0 ).setMatched (true );
66
+ context .setMockStrategy (MockStrategyEnum .STRICT_MATCH );
67
+ return context ;
68
+ };
69
+ Supplier <MatchStrategyContext > contextSupplier3 = () -> {
70
+ MatchStrategyContext context = contextSupplier1 .get ();
71
+ context .getRecordList ().add (new ArexMocker ());
72
+ return context ;
73
+ };
74
+ Supplier <MatchStrategyContext > contextSupplier4 = () -> {
75
+ MatchStrategyContext context = contextSupplier1 .get ();
76
+ context .getRecordList ().get (0 ).setFuzzyMatchKey (1 );
77
+ context .setMockStrategy (MockStrategyEnum .STRICT_MATCH );
78
+ return context ;
79
+ };
80
+ Supplier <MatchStrategyContext > multiMatchResult = () -> {
81
+ MatchStrategyContext context = contextSupplier1 .get ();
82
+ ArexMocker mocker = new ArexMocker (MockCategoryType .DYNAMIC_CLASS );
83
+ mocker .setOperationName ("mock" );
84
+ mocker .setTargetRequest (new Mocker .Target ());
85
+ mocker .getTargetRequest ().setBody ("mock" );
86
+ mocker .setTargetResponse (new Mocker .Target ());
87
+ mocker .setAccurateMatchKey (MatchKeyFactory .INSTANCE .getAccurateMatchKey (mocker ));
88
+ context .getRecordList ().add (mocker );
89
+ return context ;
90
+ };
91
+
92
+ Predicate <MatchStrategyContext > asserts1 = context -> !context .isInterrupt ();
93
+ Predicate <MatchStrategyContext > asserts2 = MatchStrategyContext ::isInterrupt ;
94
+
95
+ return Stream .of (
96
+ arguments (contextSupplier1 .get (), asserts1 ),
97
+ arguments (contextSupplier2 .get (), asserts2 ),
98
+ arguments (contextSupplier3 .get (), asserts1 ),
99
+ arguments (contextSupplier4 .get (), asserts2 ),
100
+ arguments (multiMatchResult .get (), asserts2 )
101
+ );
102
+ }
103
+
104
+ @ Test
105
+ void internalCheck () {
106
+ ArexMocker mocker = new ArexMocker ();
107
+ mocker .setTargetRequest (new Mocker .Target ());
108
+ assertFalse (accurateMatchStrategy .internalCheck (new MatchStrategyContext (mocker , null )));
109
+ }
110
+ }
0 commit comments