NO-JIRA Improving HornetQInterceptor test with modifications
This commit is contained in:
parent
c61f2d5324
commit
500aa09360
|
@ -20,11 +20,14 @@ package org.apache.activemq.artemis.core.protocol.hornetq;
|
||||||
import java.util.concurrent.CyclicBarrier;
|
import java.util.concurrent.CyclicBarrier;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import io.netty.buffer.PooledByteBufAllocator;
|
||||||
import org.apache.activemq.artemis.api.core.ICoreMessage;
|
import org.apache.activemq.artemis.api.core.ICoreMessage;
|
||||||
import org.apache.activemq.artemis.api.core.SimpleString;
|
import org.apache.activemq.artemis.api.core.SimpleString;
|
||||||
import org.apache.activemq.artemis.core.message.impl.CoreMessage;
|
import org.apache.activemq.artemis.core.message.impl.CoreMessage;
|
||||||
import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl;
|
import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl;
|
||||||
import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.MessagePacket;
|
import org.apache.activemq.artemis.core.protocol.core.impl.wireformat.MessagePacket;
|
||||||
|
import org.apache.activemq.artemis.utils.RandomUtil;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
|
@ -64,6 +67,7 @@ public class PropertiesConversionTest {
|
||||||
HQPropertiesConversionInterceptor amq = new HQPropertiesConversionInterceptor(true);
|
HQPropertiesConversionInterceptor amq = new HQPropertiesConversionInterceptor(true);
|
||||||
AtomicInteger errors = new AtomicInteger(0);
|
AtomicInteger errors = new AtomicInteger(0);
|
||||||
AtomicInteger counts = new AtomicInteger(0);
|
AtomicInteger counts = new AtomicInteger(0);
|
||||||
|
|
||||||
for (int i = 0; i < threads; i++) {
|
for (int i = 0; i < threads; i++) {
|
||||||
t[i] = new Thread() {
|
t[i] = new Thread() {
|
||||||
|
|
||||||
|
@ -79,6 +83,20 @@ public class PropertiesConversionTest {
|
||||||
hq.intercept(packetSend, null);
|
hq.intercept(packetSend, null);
|
||||||
FakeMessagePacket packetRec = new FakeMessagePacket(coreMessage);
|
FakeMessagePacket packetRec = new FakeMessagePacket(coreMessage);
|
||||||
amq.intercept(packetRec, null);
|
amq.intercept(packetRec, null);
|
||||||
|
|
||||||
|
// heads or tails here, I need part of the messages with a big header, part of the messages with a small header
|
||||||
|
boolean heads = RandomUtil.randomBoolean();
|
||||||
|
|
||||||
|
// this is playing with a scenario where the horentq interceptor will change the size of the message
|
||||||
|
if (heads) {
|
||||||
|
packetRec.getMessage().putStringProperty("propChanges", "looooooooooooooooooooong property text");
|
||||||
|
} else {
|
||||||
|
packetRec.getMessage().putStringProperty("propChanges", "short one");
|
||||||
|
}
|
||||||
|
|
||||||
|
ByteBuf buf = PooledByteBufAllocator.DEFAULT.buffer(packetRec.getMessage().getEncodeSize() + 4);
|
||||||
|
packetRec.getMessage().sendBuffer_1X(buf);
|
||||||
|
buf.release();
|
||||||
if (i > conversions / 2) {
|
if (i > conversions / 2) {
|
||||||
// I only validate half of the messages
|
// I only validate half of the messages
|
||||||
// to give it a chance of Races and Exceptions
|
// to give it a chance of Races and Exceptions
|
||||||
|
@ -104,4 +122,5 @@ public class PropertiesConversionTest {
|
||||||
|
|
||||||
Assert.assertEquals(0, errors.get());
|
Assert.assertEquals(0, errors.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue