@@ -186,111 +186,4 @@ public void evaluateWithSetsNotHaveFlags() {
186186 Map <String , EvaluatorImp .TreatmentLabelAndChangeNumber > result = _evaluator .evaluateFeaturesByFlagSets (MATCHING_KEY , BUCKETING_KEY , sets , null );
187187 Assert .assertTrue (result .isEmpty ());
188188 }
189-
190- @ Test
191- public void evaluateWithPrerequisites () {
192- Partition partition = new Partition ();
193- partition .treatment = TREATMENT_VALUE ;
194- partition .size = 100 ;
195- _partitions .add (partition );
196- ParsedCondition condition = new ParsedCondition (ConditionType .WHITELIST , _matcher , _partitions , "test whitelist label" );
197- _conditions .add (condition );
198- List <Prerequisite > prerequisites = Arrays .asList (new Prerequisite ("split1" , Arrays .asList (TREATMENT_VALUE )));
199-
200- ParsedSplit split = new ParsedSplit (SPLIT_NAME , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , TRAFFIC_TYPE_VALUE , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), true , new PrerequisitesMatcher (prerequisites ));
201- ParsedSplit split1 = new ParsedSplit ("split1" , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , TRAFFIC_TYPE_VALUE , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), true , new PrerequisitesMatcher (null ));
202-
203- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (split );
204- Mockito .when (_splitCacheConsumer .get ("split1" )).thenReturn (split1 );
205-
206- EvaluatorImp .TreatmentLabelAndChangeNumber result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
207- assertEquals (TREATMENT_VALUE , result .treatment );
208- assertEquals ("test whitelist label" , result .label );
209- assertEquals (CHANGE_NUMBER , result .changeNumber );
210-
211- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
212- assertEquals (DEFAULT_TREATMENT_VALUE , result .treatment );
213- assertEquals (Labels .PREREQUISITES_NOT_MET , result .label );
214- assertEquals (CHANGE_NUMBER , result .changeNumber );
215-
216- // if split is killed, label should be killed.
217- split = new ParsedSplit (SPLIT_NAME , 0 , true , DEFAULT_TREATMENT_VALUE , _conditions , TRAFFIC_TYPE_VALUE , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), true , new PrerequisitesMatcher (prerequisites ));
218- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (split );
219- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
220- assertEquals (DEFAULT_TREATMENT_VALUE , result .treatment );
221- assertEquals (Labels .KILLED , result .label );
222- assertEquals (CHANGE_NUMBER , result .changeNumber );
223- }
224-
225- @ Test
226- public void evaluateFallbackTreatmentWorks () {
227- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (null );
228- FallbackTreatmentsConfiguration fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration (new FallbackTreatment ("on" ));
229- FallbackTreatmentCalculator fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp (fallbackTreatmentsConfiguration );
230- _evaluator = new EvaluatorImp (_splitCacheConsumer , _segmentCacheConsumer , _ruleBasedSegmentCacheConsumer , fallbackTreatmentCalculator );
231-
232- EvaluatorImp .TreatmentLabelAndChangeNumber result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
233- assertEquals ("on" , result .treatment );
234- assertEquals ("fallback - definition not found" , result .label );
235-
236- ParsedSplit split = new ParsedSplit (SPLIT_NAME , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , null , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), false , null );
237- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (split );
238- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
239- assertEquals ("on" , result .treatment );
240- assertEquals ("fallback - exception" , result .label );
241-
242- // using byflag only
243- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (null );
244- Mockito .when (_splitCacheConsumer .get ("another_name" )).thenReturn (null );
245- fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration (new HashMap <String , FallbackTreatment >() {{ put (SPLIT_NAME , new FallbackTreatment ("off" )); }} );
246- fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp (fallbackTreatmentsConfiguration );
247- _evaluator = new EvaluatorImp (_splitCacheConsumer , _segmentCacheConsumer , _ruleBasedSegmentCacheConsumer , fallbackTreatmentCalculator );
248-
249- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
250- assertEquals ("off" , result .treatment );
251- assertEquals ("fallback - definition not found" , result .label );
252-
253- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , "another_name" , null );
254- assertEquals ("control" , result .treatment );
255- assertEquals ("definition not found" , result .label );
256-
257- split = new ParsedSplit (SPLIT_NAME , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , null , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), false , null );
258- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (split );
259- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
260- assertEquals ("off" , result .treatment );
261- assertEquals ("fallback - exception" , result .label );
262-
263- split = new ParsedSplit ("another_name" , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , null , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), false , null );
264- Mockito .when (_splitCacheConsumer .get ("another_name" )).thenReturn (split );
265- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , "another_name" , null );
266- assertEquals ("control" , result .treatment );
267- assertEquals ("exception" , result .label );
268-
269- // with byflag
270- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (null );
271- Mockito .when (_splitCacheConsumer .get ("another_name" )).thenReturn (null );
272- fallbackTreatmentsConfiguration = new FallbackTreatmentsConfiguration (new FallbackTreatment ("on" ), new HashMap <String , FallbackTreatment >() {{ put (SPLIT_NAME , new FallbackTreatment ("off" )); }} );
273- fallbackTreatmentCalculator = new FallbackTreatmentCalculatorImp (fallbackTreatmentsConfiguration );
274- _evaluator = new EvaluatorImp (_splitCacheConsumer , _segmentCacheConsumer , _ruleBasedSegmentCacheConsumer , fallbackTreatmentCalculator );
275-
276- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
277- assertEquals ("off" , result .treatment );
278- assertEquals ("fallback - definition not found" , result .label );
279-
280- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , "another_name" , null );
281- assertEquals ("on" , result .treatment );
282- assertEquals ("fallback - definition not found" , result .label );
283-
284- split = new ParsedSplit (SPLIT_NAME , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , null , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), false , null );
285- Mockito .when (_splitCacheConsumer .get (SPLIT_NAME )).thenReturn (split );
286- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , SPLIT_NAME , null );
287- assertEquals ("off" , result .treatment );
288- assertEquals ("fallback - exception" , result .label );
289-
290- split = new ParsedSplit ("another_name" , 0 , false , DEFAULT_TREATMENT_VALUE , _conditions , null , CHANGE_NUMBER , 60 , 18 , 2 , _configurations , new HashSet <>(), false , null );
291- Mockito .when (_splitCacheConsumer .get ("another_name" )).thenReturn (split );
292- result = _evaluator .evaluateFeature (MATCHING_KEY , BUCKETING_KEY , "another_name" , null );
293- assertEquals ("on" , result .treatment );
294- assertEquals ("fallback - exception" , result .label );
295- }
296189}
0 commit comments