Skip to content

Commit eafb9df

Browse files
Tests for priority validation
Part of rabbitmq/rabbitmq-server#1590. [#157380396]
1 parent 8be7848 commit eafb9df

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

src/test/java/com/rabbitmq/client/test/server/PriorityQueues.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,40 @@ public class PriorityQueues extends BrokerTestCase {
4848
channel.queueDelete(q);
4949
}
5050

51+
@Test public void negativeMaxPriority() throws IOException, TimeoutException, InterruptedException {
52+
String q = "with-minus-10-priorities";
53+
int n = -10;
54+
try {
55+
channel.queueDeclare(q, true, false, false, argsWithPriorities(n));
56+
} catch (IOException ioe) {
57+
checkShutdownSignal(AMQP.PRECONDITION_FAILED, ioe);
58+
}
59+
}
60+
61+
@Test public void excessiveMaxPriority() throws IOException, TimeoutException, InterruptedException {
62+
String q = "with-260-priorities";
63+
int n = 260;
64+
try {
65+
channel.queueDeclare(q, true, false, false, argsWithPriorities(n));
66+
} catch (IOException ioe) {
67+
checkShutdownSignal(AMQP.PRECONDITION_FAILED, ioe);
68+
}
69+
}
70+
71+
@Test public void maxAllowedPriority() throws IOException, TimeoutException, InterruptedException {
72+
String q = "with-255-priorities";
73+
int n = 255;
74+
channel.queueDeclare(q, true, false, false, argsWithPriorities(n));
75+
publishWithPriorities(q, n);
76+
77+
List<Integer> xs = prioritiesOfEnqueuedMessages(q, n);
78+
assertEquals(Integer.valueOf(255), xs.get(0));
79+
assertEquals(Integer.valueOf(254), xs.get(1));
80+
assertEquals(Integer.valueOf(253), xs.get(2));
81+
82+
channel.queueDelete(q);
83+
}
84+
5185
private List<Integer> prioritiesOfEnqueuedMessages(String q, int n) throws InterruptedException, IOException {
5286
final List<Integer> xs = new ArrayList<Integer>();
5387
final CountDownLatch latch = new CountDownLatch(n);

0 commit comments

Comments
 (0)