@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); }
@Test(expectedExceptions = IllegalArgumentException.class) public void cannotBeDiagnosedWithInvocationSequenceDataNull() { double baseline = 1000; diagnosisService = new DiagnosisService(problemOccurrenceConsumer, new ArrayList<String>() { private static final long serialVersionUID = 1L; { add("rocks.inspectit.server.diagnosis.service.rules.testrules"); } }, 2, 50L, 2); diagnosisService.diagnose(null, baseline); }
@Test(expectedExceptions = IllegalArgumentException.class) public void cannotBeDiagnosedWithNullAndNegativeBaseline() { diagnosisService = new DiagnosisService(problemOccurrenceConsumer, new ArrayList<String>() { private static final long serialVersionUID = 1L; { add("rocks.inspectit.server.diagnosis.service.rules.testrules"); } }, 2, 50L, 2); diagnosisService.diagnose(null, -1); } }
@Test public void processData() { cmrProcessor.setBaseline(1000); InvocationSequenceData invocationSequenceRoot = new InvocationSequenceData(); cmrProcessor.processData(invocationSequenceRoot, entityManager); verifyZeroInteractions(entityManager); verify(diagnosisService).diagnose(invocationSequenceRoot, 1000); } }
@Test public void canBeDiagnosed() { double baseline = 1000; diagnosisService = new DiagnosisService(problemOccurrenceConsumer, new ArrayList<String>() { private static final long serialVersionUID = 1L; { add("rocks.inspectit.server.diagnosis.service.rules.testrules"); } }, 2, 50L, 2); InvocationSequenceData invocationSequenceData = new InvocationSequenceData(); invocationSequenceData.setDuration(5000d); boolean canBeDiagnosed = diagnosisService.diagnose(invocationSequenceData, baseline); assertThat(canBeDiagnosed, equalTo(true)); }
@Test(expectedExceptions = IllegalArgumentException.class) public void cannotBeDiagnosedWithBaselineNegative() { diagnosisService = new DiagnosisService(problemOccurrenceConsumer, new ArrayList<String>() { private static final long serialVersionUID = 1L; { add("rocks.inspectit.server.diagnosis.service.rules.testrules"); } }, 2, 50L, 2); InvocationSequenceData invocationSequenceData = new InvocationSequenceData(); invocationSequenceData.setDuration(5000d); diagnosisService.diagnose(invocationSequenceData, -1); }