package kg.apc.cmdtools; import kg.apc.emulators.TestJMeterUtils; import org.junit.BeforeClass; import org.junit.Test; import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.util.ListIterator; import static org.junit.Assert.*; public class ReporterToolTest { private final String basedir; public ReporterToolTest() { File file = new File(this.getClass().getResource("/kg/apc/jmeter/short.jtl").getFile()); basedir = TestJMeterUtils.fixWinPath(file.getParentFile().getAbsolutePath()); } @BeforeClass public static void setUpClass() throws Exception { TestJMeterUtils.createJmeterEnv(); } @Test public void testShowHelp() { System.out.println("showHelp"); PrintStream os = System.out; ReporterTool instance = new ReporterTool(); instance.showHelp(os); } @Test public void testProcessParams() { System.out.println("processParams"); ListIterator args = PluginsCMD.argsArrayToListIterator("--help".split(" ")); ReporterTool instance = new ReporterTool(); try { instance.processParams(args); fail(); } catch (UnsupportedOperationException ignored) { } } @Test public void testProcessParams_aggreg() throws IOException { System.out.println("processParams aggregate"); File f = File.createTempFile("test", ".csv"); String str = "--generate-csv " + f.getAbsolutePath() + " " + "--input-jtl " + basedir + "/short.jtl " + "--aggregate-rows yes --plugin-type ResponseTimesOverTime"; String[] args = str.split(" +"); ReporterTool instance = new ReporterTool(); int expResult = 0; int result = instance.processParams(PluginsCMD.argsArrayToListIterator(args)); assertEquals(expResult, result); System.out.println(f.length()); assertTrue(66 < f.length()); } @Test public void testProcessParams_issue64() throws IOException { System.out.println("processParams outliers"); File f = File.createTempFile("test", ".png"); String str = "--width 800 --height 600 " + "--plugin-type HitsPerSecond " + "--aggregate-rows yes " + "--generate-png " + f.getAbsolutePath() + " " + "--input-jtl " + basedir + "/short.jtl"; String[] args = str.split(" +"); ReporterTool instance = new ReporterTool(); try { int result = instance.processParams(PluginsCMD.argsArrayToListIterator(args)); fail("HitsPerSec don't handle aggregates"); } catch (UnsupportedOperationException ignored) { } } }