Skip to content

Commit e399e67

Browse files
author
Simon MacMullen
committed
Refactor to avoid passing BrokerTestCases around...
1 parent 9110a58 commit e399e67

File tree

4 files changed

+41
-40
lines changed

4 files changed

+41
-40
lines changed

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

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

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

4540
static final String TYPE = "direct";
4641

@@ -50,51 +45,30 @@ public void releaseResources() throws IOException {
5045
channel.exchangeDelete(NAME);
5146
}
5247

53-
public static void verifyEquivalent(BrokerTestCase btc, String name,
54-
String type, boolean durable, boolean autoDelete,
55-
Map<String, Object> args) throws IOException {
56-
btc.channel.exchangeDeclarePassive(name);
57-
btc.channel.exchangeDeclare(name, type, durable, autoDelete, args);
58-
}
59-
60-
// Note: this will close the channel
61-
public static void verifyNotEquivalent(BrokerTestCase btc, String name,
62-
String type, boolean durable, boolean autoDelete,
63-
Map<String, Object> args) throws IOException {
64-
btc.channel.exchangeDeclarePassive(name);
65-
try {
66-
btc.channel.exchangeDeclare(name, type, durable, autoDelete, args);
67-
fail("Exchange was supposed to be not equivalent");
68-
} catch (IOException ioe) {
69-
btc.checkShutdownSignal(AMQP.NOT_ALLOWED, ioe);
70-
return;
71-
}
72-
}
73-
7448
public void testExchangeNoArgsEquivalence() throws IOException {
7549
channel.exchangeDeclare(NAME, TYPE, false, false, null);
76-
verifyEquivalent(this, NAME, TYPE, false, false, null);
50+
verifyEquivalent(NAME, TYPE, false, false, null);
7751
}
7852

7953
public void testExchangeNonsenseArgsEquivalent() throws IOException {
8054
channel.exchangeDeclare(NAME, TYPE, false, false, null);
8155
Map<String, Object> args = new HashMap<String, Object>();
8256
args.put("nonsensical-argument-surely-not-in-use", "foo");
83-
verifyEquivalent(this, NAME, TYPE, false, false, args);
57+
verifyEquivalent(NAME, TYPE, false, false, args);
8458
}
8559

8660
public void testExchangeDurableNotEquivalent() throws IOException {
8761
channel.exchangeDeclare(NAME, TYPE, false, false, null);
88-
verifyNotEquivalent(this, NAME, TYPE, true, false, null);
62+
verifyNotEquivalent(NAME, TYPE, true, false, null);
8963
}
9064

9165
public void testExchangeTypeNotEquivalent() throws IOException {
9266
channel.exchangeDeclare(NAME, "direct", false, false, null);
93-
verifyNotEquivalent(this, NAME, "fanout", false, false, null);
67+
verifyNotEquivalent(NAME, "fanout", false, false, null);
9468
}
9569

9670
public void testExchangeAutoDeleteNotEquivalent() throws IOException {
9771
channel.exchangeDeclare(NAME, "direct", false, false, null);
98-
verifyNotEquivalent(this, NAME, "direct", false, true, null);
72+
verifyNotEquivalent(NAME, "direct", false, true, null);
9973
}
10074
}
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/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(this, "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(this, "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)