Skip to content

Commit eac7a48

Browse files
author
Simon MacMullen
committed
Merged bug22908 into default.
2 parents 4b76123 + 616c4a8 commit eac7a48

File tree

6 files changed

+47
-38
lines changed

6 files changed

+47
-38
lines changed

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

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,7 @@
3535
import java.util.HashMap;
3636
import java.io.IOException;
3737

38-
import com.rabbitmq.client.Channel;
39-
40-
import com.rabbitmq.client.test.BrokerTestCase;
41-
42-
public class ExchangeDeclare extends BrokerTestCase {
38+
public class ExchangeDeclare extends ExchangeEquivalenceBase {
4339

4440
static final String TYPE = "direct";
4541

@@ -49,50 +45,30 @@ public void releaseResources() throws IOException {
4945
channel.exchangeDelete(NAME);
5046
}
5147

52-
public static void verifyEquivalent(Channel channel, String name,
53-
String type, boolean durable, boolean autoDelete,
54-
Map<String, Object> args) throws IOException {
55-
channel.exchangeDeclarePassive(name);
56-
channel.exchangeDeclare(name, type, durable, autoDelete, args);
57-
}
58-
59-
// Note: this will close the channel
60-
public static void verifyNotEquivalent(Channel channel, String name,
61-
String type, boolean durable, boolean autoDelete,
62-
Map<String, Object> args) throws IOException {
63-
channel.exchangeDeclarePassive(name);
64-
try {
65-
channel.exchangeDeclare(name, type, durable, autoDelete, args);
66-
fail("Exchange was supposed to be not equivalent");
67-
} catch (IOException ioe) {
68-
return;
69-
}
70-
}
71-
7248
public void testExchangeNoArgsEquivalence() throws IOException {
7349
channel.exchangeDeclare(NAME, TYPE, false, false, null);
74-
verifyEquivalent(channel, NAME, TYPE, false, false, null);
50+
verifyEquivalent(NAME, TYPE, false, false, null);
7551
}
7652

7753
public void testExchangeNonsenseArgsEquivalent() throws IOException {
7854
channel.exchangeDeclare(NAME, TYPE, false, false, null);
7955
Map<String, Object> args = new HashMap<String, Object>();
8056
args.put("nonsensical-argument-surely-not-in-use", "foo");
81-
verifyEquivalent(channel, NAME, TYPE, false, false, args);
57+
verifyEquivalent(NAME, TYPE, false, false, args);
8258
}
8359

8460
public void testExchangeDurableNotEquivalent() throws IOException {
8561
channel.exchangeDeclare(NAME, TYPE, false, false, null);
86-
verifyNotEquivalent(channel, NAME, TYPE, true, false, null);
62+
verifyNotEquivalent(NAME, TYPE, true, false, null);
8763
}
8864

8965
public void testExchangeTypeNotEquivalent() throws IOException {
9066
channel.exchangeDeclare(NAME, "direct", false, false, null);
91-
verifyNotEquivalent(channel, NAME, "fanout", false, false, null);
67+
verifyNotEquivalent(NAME, "fanout", false, false, null);
9268
}
9369

9470
public void testExchangeAutoDeleteNotEquivalent() throws IOException {
9571
channel.exchangeDeclare(NAME, "direct", false, false, null);
96-
verifyNotEquivalent(channel, NAME, "direct", false, true, null);
72+
verifyNotEquivalent(NAME, "direct", false, true, null);
9773
}
9874
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.rabbitmq.client.test.functional;
2+
3+
import com.rabbitmq.client.AMQP;
4+
import com.rabbitmq.client.test.BrokerTestCase;
5+
6+
import java.io.IOException;
7+
import java.util.Map;
8+
9+
public abstract class ExchangeEquivalenceBase extends BrokerTestCase {
10+
public void verifyEquivalent(String name,
11+
String type, boolean durable, boolean autoDelete,
12+
Map<String, Object> args) throws IOException {
13+
channel.exchangeDeclarePassive(name);
14+
channel.exchangeDeclare(name, type, durable, autoDelete, args);
15+
}
16+
17+
// Note: this will close the channel
18+
public void verifyNotEquivalent(String name,
19+
String type, boolean durable, boolean autoDelete,
20+
Map<String, Object> args) throws IOException {
21+
channel.exchangeDeclarePassive(name);
22+
try {
23+
channel.exchangeDeclare(name, type, durable, autoDelete, args);
24+
fail("Exchange was supposed to be not equivalent");
25+
} catch (IOException ioe) {
26+
checkShutdownSignal(AMQP.NOT_ALLOWED, ioe);
27+
return;
28+
}
29+
}
30+
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import java.io.IOException;
3535
import java.util.HashMap;
3636

37+
import com.rabbitmq.client.AMQP;
3738
import com.rabbitmq.client.Channel;
3839
import com.rabbitmq.client.Connection;
3940
import com.rabbitmq.client.QueueingConsumer;

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.HashMap;
3636
import java.util.Map;
3737

38+
import com.rabbitmq.client.AMQP;
3839
import com.rabbitmq.client.QueueingConsumer;
3940
import com.rabbitmq.client.test.BrokerTestCase;
4041

@@ -81,6 +82,10 @@ void verifyNotEquivalent(boolean durable, boolean exclusive,
8182
try {
8283
verifyQueue(q, durable, exclusive, autoDelete, null);
8384
} catch (IOException ioe) {
85+
if (exclusive)
86+
checkShutdownSignal(AMQP.RESOURCE_LOCKED, ioe);
87+
else
88+
checkShutdownSignal(AMQP.NOT_ALLOWED, ioe);
8489
return;
8590
}
8691
fail("Queue.declare should have been rejected as not equivalent");

test/src/com/rabbitmq/client/test/server/ExchangeEquivalence.java renamed to test/src/com/rabbitmq/client/test/server/AlternateExchangeEquivalence.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,26 +35,23 @@
3535
import java.util.HashMap;
3636
import java.io.IOException;
3737

38-
import com.rabbitmq.client.test.BrokerTestCase;
39-
import com.rabbitmq.client.test.functional.ExchangeDeclare;
38+
import com.rabbitmq.client.test.functional.ExchangeEquivalenceBase;
4039

41-
public class ExchangeEquivalence extends BrokerTestCase {
40+
public class AlternateExchangeEquivalence extends ExchangeEquivalenceBase {
4241
static Map<String, Object> args = new HashMap<String, Object>();
4342
{
4443
args.put("alternate-exchange", "UME");
4544
}
4645

4746
public void testAlternateExchangeEquivalence() throws IOException {
4847
channel.exchangeDeclare("alternate", "direct", false, false, args);
49-
ExchangeDeclare.verifyEquivalent(channel, "alternate", "direct", false,
50-
false, args);
48+
verifyEquivalent("alternate", "direct", false, false, args);
5149
}
5250

5351
public void testAlternateExchangeNonEquivalence() throws IOException {
5452
channel.exchangeDeclare("alternate", "direct", false, false, args);
5553
Map<String, Object> altargs = new HashMap<String, Object>();
5654
altargs.put("alternate-exchange", "somewhere");
57-
ExchangeDeclare.verifyNotEquivalent(channel, "alternate", "direct",
58-
false, false, altargs);
55+
verifyNotEquivalent("alternate", "direct", false, false, altargs);
5956
}
6057
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static TestSuite suite() {
4242
suite.addTestSuite(EffectVisibilityCrossNodeTest.class);
4343
suite.addTest(PersisterRestartTests.suite());
4444
suite.addTestSuite(ExclusiveQueueDurability.class);
45-
suite.addTestSuite(ExchangeEquivalence.class);
45+
suite.addTestSuite(AlternateExchangeEquivalence.class);
4646
return suite;
4747
}
4848
}

0 commit comments

Comments
 (0)