private void updateQueueStatus(CeActivityDto.Status status, long executionTimeInMs) { if (status == CeActivityDto.Status.SUCCESS) { queueStatus.addSuccess(executionTimeInMs); } else { queueStatus.addError(executionTimeInMs); } }
@Override public long getProcessingTime() { return queueStatus.getProcessingTime(); }
@Override public long getSuccessCount() { return queueStatus.getSuccessCount(); }
@Test public void addSuccess_increases_Error_and_decreases_InProgress_by_1_without_check_on_InProgress() { getUnderTest().addSuccess(SOME_PROCESSING_TIME); assertThat(getUnderTest().getInProgressCount()).isEqualTo(-1); assertThat(getUnderTest().getErrorCount()).isEqualTo(0); assertThat(getUnderTest().getSuccessCount()).isEqualTo(1); assertThat(getUnderTest().getProcessingTime()).isEqualTo(SOME_PROCESSING_TIME); }
private List<Runnable> buildShuffleCallsToUnderTest() { List<Runnable> res = new ArrayList<>(); for (int i = 0; i < 98; i++) { res.add(new AddInProgressRunnable()); } for (int i = 0; i < 80; i++) { res.add(new AddSuccessRunnable()); } for (int i = 0; i < 17; i++) { res.add(new AddErrorRunnable()); } Collections.shuffle(res); return res; }
@Override public long addSuccess(long processingTimeInMs) { addProcessingTime(processingTimeInMs); inProgress.decrementAndGet(); return success.incrementAndGet(); }
@Override public long getInProgressCount() { return queueStatus.getInProgressCount(); }
@Override public long getErrorCount() { return queueStatus.getErrorCount(); }
@Override public long getPendingCount() { return queueStatus.getPendingCount(); }
@Test public void workers_pause_is_false_by_default() { assertThat(getUnderTest().areWorkersPaused()).isFalse(); } }
@Test public void addSuccess_throws_IAE_if_time_is_less_than_0() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Processing time can not be < 0"); getUnderTest().addSuccess(-1); }
@Test public void addError_throws_IAE_if_time_is_less_than_0() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Processing time can not be < 0"); getUnderTest().addError(-1); }
@Override public long addError(long processingTime) { return methodNotImplemented(); }
@Override public void run() { underTest.addInProgress(); } }
@Override public void run() { underTest.addError(1); } }
@Override public void run() { underTest.addSuccess(2); } }
@Test public void verify_just_created_instance_metrics() { assertThat(getUnderTest().getInProgressCount()).isEqualTo(0); assertThat(getUnderTest().getErrorCount()).isEqualTo(0); assertThat(getUnderTest().getSuccessCount()).isEqualTo(0); assertThat(getUnderTest().getProcessingTime()).isEqualTo(0); }
@Override public long addError(long processingTimeInMs) { addProcessingTime(processingTimeInMs); inProgress.decrementAndGet(); return error.incrementAndGet(); }
@Override public long addInProgress() { return methodNotImplemented(); }
@Override public long addSuccess(long processingTime) { return methodNotImplemented(); }