@Test public void stopDiagnosis() throws DiagnosisEngineException { double baseline = 1000; InvocationSequenceData invocationSequenceData = new InvocationSequenceData(); when(diagnosisServiceExecutor.isShutdown()).thenReturn(true); diagnosisService.diagnose(invocationSequenceData, baseline); diagnosisService.run(); verify(engine, times(1)).analyze(invocationSequenceData, Collections.singletonMap(RuleConstants.DIAGNOSIS_VAR_BASELINE, baseline)); verify(diagnosisServiceExecutor, times(0)).execute(diagnosisService); } }
@Test public void runDiagnosis() throws DiagnosisEngineException { double baseline = 1000; InvocationSequenceData invocationSequenceData = new InvocationSequenceData(); invocationSequenceData.setDuration(5000d); verify(engine, times(0)).analyze(invocationSequenceData, Collections.singletonMap(RuleConstants.DIAGNOSIS_VAR_BASELINE, baseline)); verify(diagnosisServiceExecutor, times(0)).execute(diagnosisService); diagnosisService.diagnose(invocationSequenceData, baseline); diagnosisService.diagnose(invocationSequenceData, baseline); diagnosisService.diagnose(invocationSequenceData, baseline); diagnosisService.run(); diagnosisService.run(); diagnosisService.run(); verify(engine, times(3)).analyze(invocationSequenceData, Collections.singletonMap(RuleConstants.DIAGNOSIS_VAR_BASELINE, baseline)); verify(diagnosisServiceExecutor, times(3)).execute(diagnosisService); }