@Test public void influxOffline() { InvocationSequenceData invocationData = new InvocationSequenceData(); when(influxDBDao.isConnected()).thenReturn(false); doReturn(Collections.singleton(InvocationSequenceData.class)).when(pointBuilder).getDataClasses(); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(invocationData, entityManager); verify(influxDBDao).isConnected(); verifyNoMoreInteractions(influxDBDao); verifyZeroInteractions(entityManager); }
@Test public void noBuilders() { InvocationSequenceData invocationData = new InvocationSequenceData(); when(influxDBDao.isConnected()).thenReturn(true); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> emptyList()); processor.process(invocationData, entityManager); verify(influxDBDao).isConnected(); verifyNoMoreInteractions(influxDBDao); verifyZeroInteractions(entityManager); }
@Test public void builderForClassDoesNotExist() { InvocationSequenceData invocationData = new InvocationSequenceData(); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(HttpTimerData.class)).when(pointBuilder).getDataClasses(); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(invocationData, entityManager); verify(influxDBDao).isConnected(); verify(pointBuilder).getDataClasses(); verifyNoMoreInteractions(influxDBDao, pointBuilder); verifyZeroInteractions(entityManager); }
@Test public void timerNotCharting() { TimerData data = new TimerData(); data.setCharting(false); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(TimerData.class)).when(pointBuilder).getDataClasses(); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(data, entityManager); verify(influxDBDao).isConnected(); verify(pointBuilder).getDataClasses(); verifyNoMoreInteractions(influxDBDao, pointBuilder); verifyZeroInteractions(entityManager); }
@Test public void jmxNotNumeric() { JmxSensorValueData data = new JmxSensorValueData(); data.setValue("string value"); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(JmxSensorValueData.class)).when(pointBuilder).getDataClasses(); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(data, entityManager); verify(influxDBDao).isConnected(); verify(pointBuilder).getDataClasses(); verifyNoMoreInteractions(influxDBDao, pointBuilder); verifyZeroInteractions(entityManager); }
@Test public void processed() { InvocationSequenceData invocationData = new InvocationSequenceData(); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(InvocationSequenceData.class)).when(pointBuilder).getDataClasses(); when(pointBuilder.createBuilders(invocationData)).thenReturn(Collections.singleton(builder)); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(invocationData, entityManager); verify(influxDBDao).isConnected(); ArgumentCaptor<Point> pointCaptor = ArgumentCaptor.forClass(Point.class); verify(influxDBDao).insert(pointCaptor.capture()); assertThat(pointCaptor.getValue().lineProtocol(), is(builder.build().lineProtocol())); verifyZeroInteractions(entityManager); }
@Test public void jmxNumeric() { JmxSensorValueData data = new JmxSensorValueData(); data.setValue("1"); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(JmxSensorValueData.class)).when(pointBuilder).getDataClasses(); when(pointBuilder.createBuilders(data)).thenReturn(Collections.singleton(builder)); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(data, entityManager); verify(influxDBDao).isConnected(); ArgumentCaptor<Point> pointCaptor = ArgumentCaptor.forClass(Point.class); verify(influxDBDao).insert(pointCaptor.capture()); assertThat(pointCaptor.getValue().lineProtocol(), is(builder.build().lineProtocol())); verifyZeroInteractions(entityManager); }
@Test public void timerCharting() { TimerData data = new TimerData(); data.setCharting(true); when(influxDBDao.isConnected()).thenReturn(true); doReturn(Collections.singleton(TimerData.class)).when(pointBuilder).getDataClasses(); when(pointBuilder.createBuilders(data)).thenReturn(Collections.singleton(builder)); processor = new InfluxProcessor(influxDBDao, Collections.<IPointBuilder<DefaultData>> singletonList(pointBuilder)); processor.process(data, entityManager); verify(influxDBDao).isConnected(); ArgumentCaptor<Point> pointCaptor = ArgumentCaptor.forClass(Point.class); verify(influxDBDao).insert(pointCaptor.capture()); assertThat(pointCaptor.getValue().lineProtocol(), is(builder.build().lineProtocol())); verifyZeroInteractions(entityManager); }