package com.blazemeter.jmeter; import kg.apc.emulators.TestJMeterUtils; import org.apache.jmeter.samplers.SampleEvent; import org.apache.jmeter.samplers.SampleResult; import org.apache.jorphan.logging.LoggingManager; import org.junit.BeforeClass; import org.junit.Test; import java.io.File; import static org.junit.Assert.*; public class RotatingResultCollectorTest { @BeforeClass public static void setUpClass() throws Exception { TestJMeterUtils.createJmeterEnv(); } @Test public void rotatingRules() throws Exception { assertEquals("/tmp/abc.3.5.jtl", RotatingResultCollector.getRotatedFilename("/tmp/abc.3.4.jtl")); assertEquals("/tmp/abc.2.loglog", RotatingResultCollector.getRotatedFilename("/tmp/abc.1.loglog")); assertEquals("/tmp/abc.1.1", RotatingResultCollector.getRotatedFilename("/tmp/abc.1")); assertEquals("/tmp/abc.1.jtl", RotatingResultCollector.getRotatedFilename("/tmp/abc.jtl")); assertEquals("/tmp/abc.2.log", RotatingResultCollector.getRotatedFilename("/tmp/abc.1.log")); assertEquals("/tmp/abc.1.jtl", RotatingResultCollector.getRotatedFilename("/tmp/abc.0.jtl")); assertEquals("/tmp/abc.5.jtl", RotatingResultCollector.getRotatedFilename("/tmp/abc.4.jtl")); assertEquals("/tmp/abc.bbb.1.jtl", RotatingResultCollector.getRotatedFilename("/tmp/abc.bbb.jtl")); } @Test public void flowDefault() throws Exception { RotatingResultCollector te = new RotatingResultCollector(); te.setMaxSamplesCount("ZXC"); assertEquals(Integer.MAX_VALUE, te.getMaxSamplesCountAsInt()); File f = File.createTempFile("rotating", ".jtl"); f.deleteOnExit(); te.setFilename(f.getAbsolutePath()); te.setMaxSamplesCount("3"); te.testStarted(); for (int n = 0; n < 10; n++) { SampleResult result = new SampleResult(); result.setSampleLabel("#" + n); te.sampleOccurred(new SampleEvent(result, "")); } te.testEnded(); assertTrue(te.filename.endsWith(".3.jtl")); } }