Skip to content

Commit

Permalink
test: replace TestTransactionController.TestSampleListener with Colle…
Browse files Browse the repository at this point in the history
…ctSamplesListener
  • Loading branch information
vlsi committed Jun 24, 2023
1 parent 3670413 commit d1c56d8
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,10 @@

package org.apache.jmeter.control;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import org.apache.jmeter.assertions.ResponseAssertion;
import org.apache.jmeter.junit.JMeterTestCase;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.sampler.DebugSampler;
import org.apache.jmeter.samplers.SampleEvent;
import org.apache.jmeter.samplers.SampleListener;
import org.apache.jmeter.test.samplers.CollectSamplesListener;
import org.apache.jmeter.threads.JMeterContextService;
import org.apache.jmeter.threads.JMeterThread;
import org.apache.jmeter.threads.JMeterVariables;
Expand All @@ -44,7 +38,7 @@ public class TestTransactionController extends JMeterTestCase {
public void testIssue57958() throws Exception {
JMeterContextService.getContext().setVariables(new JMeterVariables());

TestSampleListener listener = new TestSampleListener();
CollectSamplesListener listener = new CollectSamplesListener();

TransactionController transactionController = new TransactionController();
transactionController.setGenerateParentSample(true);
Expand Down Expand Up @@ -81,29 +75,9 @@ public void testIssue57958() throws Exception {
thread.setOnErrorStopThread(true);
thread.run();

Assertions.assertEquals(1, listener.events.size(),
Assertions.assertEquals(1, listener.getEvents().size(),
"Must one transaction samples with parent debug sample");
Assertions.assertEquals("Number of samples in transaction : 1, number of failing samples : 1",
listener.events.get(0).getResult().getResponseMessage());
}

public static class TestSampleListener extends ResultCollector implements SampleListener {
private static final long serialVersionUID = -1373192220822942714L;
public List<SampleEvent> events = Collections.synchronizedList(new ArrayList<>());

@Override
public void sampleOccurred(SampleEvent e) {
events.add(e);
}

@Override
public void sampleStarted(SampleEvent e) {
events.add(e);
}

@Override
public void sampleStopped(SampleEvent e) {
events.add(e);
}
listener.getEvents().get(0).getResult().getResponseMessage());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;

import org.apache.jmeter.control.TestTransactionController;
import org.apache.jmeter.engine.JMeterEngineException;
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.junit.JMeterTestCase;
import org.apache.jmeter.modifiers.CounterConfig;
import org.apache.jmeter.sampler.DebugSampler;
import org.apache.jmeter.test.samplers.CollectSamplesListener;
import org.apache.jmeter.testelement.TestPlan;
import org.apache.jorphan.collections.HashTree;
import org.apache.jorphan.test.JMeterSerialTest;
Expand All @@ -46,7 +46,7 @@ class OpenModelThreadGroupConfigElementJavaTest extends JMeterTestCase implement
// @RepeatedTest(value = 10)
void ensure_thread_group_initializes_counter_only_once_for_each_thread()
throws JMeterEngineException, ExecutionException, InterruptedException, TimeoutException {
TestTransactionController.TestSampleListener listener = new TestTransactionController.TestSampleListener();
CollectSamplesListener listener = new CollectSamplesListener();

HashTree tree = testTree(b -> {
b.add(TestPlan.class, tp -> {
Expand Down Expand Up @@ -76,7 +76,7 @@ void ensure_thread_group_initializes_counter_only_once_for_each_thread()

// There's no guarantee that threads execute exactly in order, so we sort
// the labels to avoid test failure in case the thread execute out of order.
List<String> actual = listener.events.stream()
List<String> actual = listener.getEvents().stream()
.map(e -> e.getResult().getSampleLabel())
.sorted()
.collect(Collectors.toList());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@

package org.apache.jmeter.threads.openmodel

import org.apache.jmeter.control.TestTransactionController
import org.apache.jmeter.engine.StandardJMeterEngine
import org.apache.jmeter.junit.JMeterTestCase
import org.apache.jmeter.modifiers.CounterConfig
import org.apache.jmeter.sampler.DebugSampler
import org.apache.jmeter.test.samplers.CollectSamplesListener
import org.apache.jmeter.testelement.TestPlan
import org.apache.jmeter.treebuilder.dsl.testTree
import org.apache.jorphan.test.JMeterSerialTest
Expand All @@ -37,7 +37,7 @@ class OpenModelThreadGroupConfigElementTest : JMeterTestCase(), JMeterSerialTest
// Un-comment if you want try running the test multiple times locally:
// @RepeatedTest(value = 10)
fun `ensure thread group initializes counter only once for each thread`() {
val listener = TestTransactionController.TestSampleListener()
val listener = CollectSamplesListener()

val tree = testTree {
TestPlan::class {
Expand Down

0 comments on commit d1c56d8

Please sign in to comment.