Package org.jrobin.cmd

Source Code of org.jrobin.cmd.RrdGraphCmdTest

package org.jrobin.cmd;

import java.io.IOException;

import org.jrobin.core.RrdDb;
import org.jrobin.core.RrdDef;
import org.jrobin.core.RrdException;
import org.junit.Before;
import org.junit.Test;

public class RrdGraphCmdTest {

  RrdGraphCmd graphCmd;
  String jrbFileName;

  @Before
  public void setUp() throws RrdException, IOException {
    // Don't use stdout; this silences output if we're outputting to "-"
    // If debugging, you may wish to turn this to true, in case there's
    // output that is helpful in figuring
    // But, note that then you'll get the GIF file printed to stdout as well
    RrdToolCmd.setStandardOutUsed(false);

    // Create a simple JRB file called test-graph-cmd with an RRA called
    // "testvalue" (AVERAGE). Enough to generate graphs using RrdGraphCmd.
    // Note we're not testing the graphing itself, just the parsing
    this.jrbFileName = "target/test-graph-cmd.jrb";
    RrdDef def = new RrdDef(this.jrbFileName);
    def.setStartTime(1000);
    def.setStep(1);
    def.addDatasource("testvalue", "GAUGE", 2, Double.NaN, Double.NaN);
    def.addArchive("RRA:AVERAGE:0.5:1:100");
    RrdDb rrd = new RrdDb(def);
    rrd.close();

    this.graphCmd = new RrdGraphCmd();
   
  }

  @Test
  /*1
   * There was a null pointer exception lurking in the code that parses the
   * AREA statement, if there is no legend.
   */
  public void testBasicGraph() throws RrdException, IOException, RrdException {
    this.graphCmd.executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE AREA:testvalue#FF0000:TestValue");
  }

  @Test
  /*
   * There was a null pointer exception lurking in the code that parses the
   * AREA statement, if there was no legend.
   */
  public void testAreaWithoutLegend() throws RrdException, IOException,
      RrdException {
    // The command we execute is necessarily quite short, but should still
    // be generally parseable
    // "-" means in memory (not a file). And the AREA just specifies a
    // source value and colour, but no label
    this.graphCmd
        .executeCommand("graph - DEF:testvalue=" + this.jrbFileName
            + ":testvalue:AVERAGE AREA:testvalue#FF0000");
  }

  @Test
  public void testLine1() throws RrdException, IOException, RrdException {
    this.graphCmd.executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE1:testvalue#FF0000");
  }
 
  @Test
  public void testLine2() throws RrdException, IOException, RrdException {
 
    this.graphCmd.executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE2:testvalue#FF0000");
  }
 
  @Test
  public void testLine31() throws RrdException, IOException, RrdException {
    this.graphCmd.executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE3:testvalue#FF0000");
  }
 
  @Test
  public void testLine3WithLegend() throws RrdException, IOException, RrdException {
  this.graphCmd.executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE3:testvalue#FF0000:Legend");

  }

  @Test
  public void testStack() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE LINE1:testvalue#FF0000 STACK:testvalue#FF0000");
  }
 
  @Test
  public void testStackWithLegend() throws RrdException, IOException, RrdException {
 
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE LINE1:testvalue#FF0000 STACK:testvalue#FF0000:Legend");

  }

  @Test
  public void testCDEF() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE CDEF:testvalue8=testvalue,8,* LINE1:testvalue8#FF0000");
  }

  @Test
  public void testPrint() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE PRINT:testvalue:MAX:%f LINE1:testvalue#FF0000");
  }

  @Test
  public void testGPrint() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE GPRINT:testvalue:MAX:%f LINE1:testvalue#FF0000");
  }

  @Test
  public void testComment() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE COMMENT:FOOOOOOOOD LINE1:testvalue#FF0000");
  }

  @Test
  public void testHRule() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE HRULE:1#FF0000 LINE1:testvalue#FF0000");
  }
  public void testHRuleWithLegent() throws RrdException, IOException, RrdException {
    this.graphCmd
    .executeCommand("graph - DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE HRULE:1#FF0000:Legend LINE1:testvalue#FF0000");

  }

  @Test
  public void testVRule() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE VRULE:1#FF0000 LINE1:testvalue#FF0000");
  }

  @Test
  public void testColorDefinition() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - --color grid#00FF00 DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE LINE1:testvalue#FF0000");
  }
 
  @Test
  public void testYGrid() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - --y-grid 5:2 DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE LINE1:testvalue#FF0000");
   
  }
 
  @Test
  public void testYGridNone() throws RrdException, IOException, RrdException {
    this.graphCmd
    .executeCommand("graph - --y-grid none DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE1:testvalue#FF0000");

  }

  @Test
  public void testXGrid() throws RrdException, IOException, RrdException {
    this.graphCmd
        .executeCommand("graph - --x-grid MINUTE:10:HOUR:1:HOUR:4:0:%A DEF:testvalue="
            + this.jrbFileName
            + ":testvalue:AVERAGE LINE1:testvalue#FF0000");
   
  }

  @Test
  public void testXGridNone() throws RrdException, IOException, RrdException {
    this.graphCmd
    .executeCommand("graph - --x-grid none DEF:testvalue="
        + this.jrbFileName
        + ":testvalue:AVERAGE LINE1:testvalue#FF0000");

  }
 
 

}
TOP

Related Classes of org.jrobin.cmd.RrdGraphCmdTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.