Skip to content

Commit 69056dd

Browse files
author
Matthew Sackman
committed
Merging bug23323 into default
2 parents 54dec16 + c062a6c commit 69056dd

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

test/src/com/rabbitmq/client/test/functional/QueueLease.java

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,52 @@ public void testQueueRedeclareEquivalence() throws IOException {
146146
}
147147
}
148148

149+
public void testActiveQueueDeclareExtendsLease()
150+
throws InterruptedException, IOException {
151+
Map<String, Object> args = new HashMap<String, Object>();
152+
args.put("x-expires", QUEUE_EXPIRES);
153+
channel.queueDeclare(TEST_EXPIRE_QUEUE, false, false, false, args);
154+
155+
Thread.sleep(QUEUE_EXPIRES * 3 / 4);
156+
try {
157+
channel.queueDeclare(TEST_EXPIRE_QUEUE, false, false, false, args);
158+
} catch (IOException e) {
159+
checkShutdownSignal(AMQP.NOT_FOUND, e);
160+
fail("Queue expired before active re-declaration.");
161+
}
162+
163+
Thread.sleep(QUEUE_EXPIRES * 3 / 4);
164+
try {
165+
channel.queueDeclarePassive(TEST_EXPIRE_QUEUE);
166+
} catch (IOException e) {
167+
checkShutdownSignal(AMQP.NOT_FOUND, e);
168+
fail("Queue expired: active re-declaration did not extend lease.");
169+
}
170+
}
171+
172+
public void testPassiveQueueDeclareExtendsLease()
173+
throws InterruptedException, IOException {
174+
Map<String, Object> args = new HashMap<String, Object>();
175+
args.put("x-expires", QUEUE_EXPIRES);
176+
channel.queueDeclare(TEST_EXPIRE_QUEUE, false, false, false, args);
177+
178+
Thread.sleep(QUEUE_EXPIRES * 3 / 4);
179+
try {
180+
channel.queueDeclarePassive(TEST_EXPIRE_QUEUE);
181+
} catch (IOException e) {
182+
checkShutdownSignal(AMQP.NOT_FOUND, e);
183+
fail("Queue expired before before passive re-declaration.");
184+
}
185+
186+
Thread.sleep(QUEUE_EXPIRES * 3 / 4);
187+
try {
188+
channel.queueDeclarePassive(TEST_EXPIRE_QUEUE);
189+
} catch (IOException e) {
190+
checkShutdownSignal(AMQP.NOT_FOUND, e);
191+
fail("Queue expired: passive redeclaration did not extend lease.");
192+
}
193+
}
194+
149195
void verifyQueueExpires(String name, boolean expire) throws IOException,
150196
InterruptedException {
151197
Map<String, Object> args = new HashMap<String, Object>();

0 commit comments

Comments
 (0)