View Javadoc

1   package com.google.code.jetm.reporting;
2   
3   import static org.fest.assertions.Assertions.assertThat;
4   
5   import java.io.StringReader;
6   import java.io.StringWriter;
7   import java.util.Collection;
8   
9   import org.junit.Test;
10  
11  import com.google.code.jetm.reporting.xml.XmlAggregateBinder;
12  
13  import etm.core.aggregation.Aggregate;
14  import etm.core.configuration.BasicEtmConfigurator;
15  import etm.core.configuration.EtmManager;
16  import etm.core.monitor.EtmMonitor;
17  import etm.core.monitor.EtmPoint;
18  
19  /**
20   * Integration tests for {@link BindingMeasurementRenderer}.
21   * 
22   * @author jrh3k5
23   * 
24   */
25  
26  public class BindingMeasurementRendererITest {
27      /**
28       * Test XML binding.
29       */
30      @Test
31      public void testXmlBinding() {
32          final AggregateBinder binder = new XmlAggregateBinder();
33          final StringWriter writer = new StringWriter();
34          final BindingMeasurementRenderer renderer = new BindingMeasurementRenderer(binder, writer);
35          
36          BasicEtmConfigurator.configure();
37          final EtmMonitor monitor = EtmManager.getEtmMonitor();
38          monitor.start();
39          
40          final String pointAName = "monitor.a.point";
41          final EtmPoint pointA = monitor.createPoint(pointAName);
42          pointA.collect();
43          
44          final String pointBName = "monitor.b.point";
45          final EtmPoint pointB = monitor.createPoint(pointBName);
46          pointB.collect();
47          
48          monitor.stop();
49          monitor.render(renderer);
50          
51          final StringReader reader = new StringReader(writer.toString());
52          final Collection<Aggregate> aggregates = binder.unbind(reader);
53          boolean hasA = false;
54          boolean hasB = false;
55          for(Aggregate aggregate : aggregates) {
56              hasA |= pointAName.equals(aggregate.getName());
57              hasB |= pointBName.equals(aggregate.getName());
58          }
59  
60          assertThat(hasA).as("Point A not found in data: " + aggregates).isTrue();
61          assertThat(hasB).as("Point B not found in data: " + aggregates).isTrue();
62      }
63  }