Skip to content

Commit 6deed35

Browse files
committed
Test composite message annotations
References rabbitmq/rabbitmq-server#12506
1 parent cb92681 commit 6deed35

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

src/test/java/com/rabbitmq/client/amqp/impl/ConsumerOutcomeTest.java

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.rabbitmq.client.amqp.Management;
2828
import com.rabbitmq.client.amqp.Message;
2929
import com.rabbitmq.client.amqp.Publisher;
30+
import java.util.List;
3031
import java.util.Map;
3132
import java.util.Queue;
3233
import java.util.UUID;
@@ -41,9 +42,25 @@
4142
@AmqpTestInfrastructure
4243
public class ConsumerOutcomeTest {
4344

44-
private static final String ANNOTATION_KEY = "x-opt-foo";
45+
private static final String ANNOTATION_KEY = "x-opt-string";
4546
private static final String ANNOTATION_VALUE = "bar";
46-
private static final Map<String, Object> ANNOTATIONS = Map.of(ANNOTATION_KEY, ANNOTATION_VALUE);
47+
private static final String ANNOTATION_KEY_ARRAY = "x-opt-array";
48+
private static final String[] ANNOTATION_VALUE_ARRAY = new String[] {"foo", "bar", "baz"};
49+
private static final String ANNOTATION_KEY_LIST = "x-opt-list";
50+
private static final List<String> ANNOTATION_VALUE_LIST = List.of("one", "two", "three");
51+
private static final String ANNOTATION_KEY_MAP = "x-opt-map";
52+
private static final Map<String, String> ANNOTATION_VALUE_MAP =
53+
Map.of("k1", "v1", "k2", "v2", "k3", "v3");
54+
private static final Map<String, Object> ANNOTATIONS =
55+
Map.of(
56+
ANNOTATION_KEY,
57+
ANNOTATION_VALUE,
58+
ANNOTATION_KEY_ARRAY,
59+
ANNOTATION_VALUE_ARRAY,
60+
ANNOTATION_KEY_LIST,
61+
ANNOTATION_VALUE_LIST,
62+
ANNOTATION_KEY_MAP,
63+
ANNOTATION_VALUE_MAP);
4764

4865
Connection connection;
4966
Management management;
@@ -126,7 +143,10 @@ void requeuedMessageWithAnnotationShouldContainAnnotationsOnRedelivery() {
126143
message = messages.poll();
127144
assertThat(message)
128145
.hasAnnotation("x-delivery-count", 1L)
129-
.hasAnnotation(ANNOTATION_KEY, ANNOTATION_VALUE);
146+
.hasAnnotation(ANNOTATION_KEY, ANNOTATION_VALUE)
147+
.hasAnnotation(ANNOTATION_KEY_ARRAY, ANNOTATION_VALUE_ARRAY)
148+
.hasAnnotation(ANNOTATION_KEY_LIST, ANNOTATION_VALUE_LIST)
149+
.hasAnnotation(ANNOTATION_KEY_MAP, ANNOTATION_VALUE_MAP);
130150
waitAtMost(() -> management.queueInfo(q).messageCount() == 0);
131151
}
132152

@@ -187,7 +207,12 @@ void discardedMessageShouldBeDeadLeadLetteredWhenConfigured() {
187207
publisher.publish(publisher.message().messageId(messageID), ctx -> {});
188208
assertThat(deadLetteredSync).completes();
189209
Message message = deadLetteredMessage.get();
190-
assertThat(message).hasId(messageID).hasAnnotation(ANNOTATION_KEY, ANNOTATION_VALUE);
210+
assertThat(message)
211+
.hasId(messageID)
212+
.hasAnnotation(ANNOTATION_KEY, ANNOTATION_VALUE)
213+
.hasAnnotation(ANNOTATION_KEY_ARRAY, ANNOTATION_VALUE_ARRAY)
214+
.hasAnnotation(ANNOTATION_KEY_LIST, ANNOTATION_VALUE_LIST)
215+
.hasAnnotation(ANNOTATION_KEY_MAP, ANNOTATION_VALUE_MAP);
191216
waitAtMost(() -> management.queueInfo(q).messageCount() == 0);
192217
waitAtMost(() -> management.queueInfo(dlq).messageCount() == 0);
193218
}

0 commit comments

Comments
 (0)