@Test public void test_that_calculateStartAndEndForJudgement_has_expected_start_and_end_when_nothing_is_set_in_the_scopes_with_warmup() { CanaryAnalysisExecutionRequest request = CanaryAnalysisExecutionRequest.builder() .scopes(ImmutableList.of(CanaryAnalysisExecutionRequestScope.builder().build())) .beginAfterMins(4L) .build(); Duration intervalDuration = Duration.ofMinutes(3); for (int i = 1; i < 6; i++) { SetupAndExecuteCanariesStage.ScopeTimeConfig conf = stage.calculateStartAndEndForJudgement(request, i, intervalDuration); assertEquals(now.plus(4, ChronoUnit.MINUTES), conf.getStart()); assertEquals(now.plus(i * 3, ChronoUnit.MINUTES).plus(4, ChronoUnit.MINUTES), conf.getEnd()); } }
@Test public void test_that_calculateStartAndEndForJudgement_has_expected_start_and_end_when_start_and_end_are_supplied_in_the_scopes_with_warmup() { Instant definedStart = now.minus(5, ChronoUnit.MINUTES); Instant definedEnd = now.plus(20, ChronoUnit.MINUTES); CanaryAnalysisExecutionRequest request = CanaryAnalysisExecutionRequest.builder() .beginAfterMins(4L) .scopes(ImmutableList.of(CanaryAnalysisExecutionRequestScope.builder() .startTimeIso(definedStart.toString()) .endTimeIso(definedEnd.toString()) .build())) .build(); Duration intervalDuration = Duration.ofMinutes(3); for (int i = 1; i < 6; i++) { SetupAndExecuteCanariesStage.ScopeTimeConfig conf = stage.calculateStartAndEndForJudgement(request, i, intervalDuration); assertEquals(definedStart, conf.getStart()); assertEquals(definedStart.plus(i * 3, ChronoUnit.MINUTES), conf.getEnd()); } }