/** * {@inheritDoc} */ @Override protected void processData(DefaultData defaultData, EntityManager entityManager) { IPointBuilder<DefaultData> defaultDataPointBuilder = builderMap.get(defaultData.getClass()); Collection<Builder> builders = defaultDataPointBuilder.createBuilders(defaultData); for (Builder builder : builders) { influxDbDao.insert(builder.build()); } }
@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 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 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); }