Skip to content

Commit 87c99b9

Browse files
committed
Remove HA policy in JUnit extension
1 parent c8bd355 commit 87c99b9

File tree

1 file changed

+5
-71
lines changed

1 file changed

+5
-71
lines changed

src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java

Lines changed: 5 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2023 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
1+
// Copyright (c) 2023-2024 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
22
//
33
// This software, the RabbitMQ Java client library, is triple-licensed under the
44
// Mozilla Public License 2.0 ("MPL"), the GNU General Public License version 2
@@ -21,12 +21,10 @@
2121
import com.rabbitmq.client.test.TestUtils;
2222
import com.rabbitmq.client.test.functional.FunctionalTestSuite;
2323
import com.rabbitmq.client.test.server.HaTestSuite;
24-
import com.rabbitmq.client.test.server.LastHaTestSuite;
2524
import com.rabbitmq.client.test.server.ServerTestSuite;
2625
import com.rabbitmq.client.test.ssl.SslTestSuite;
2726
import com.rabbitmq.tools.Host;
2827
import java.io.File;
29-
import java.lang.reflect.Field;
3028
import java.net.Socket;
3129
import java.util.Properties;
3230
import org.junit.jupiter.api.extension.AfterEachCallback;
@@ -35,8 +33,6 @@
3533
import org.junit.jupiter.api.extension.ConditionEvaluationResult;
3634
import org.junit.jupiter.api.extension.ExecutionCondition;
3735
import org.junit.jupiter.api.extension.ExtensionContext;
38-
import org.junit.jupiter.api.extension.ExtensionContext.Namespace;
39-
import org.junit.jupiter.api.extension.ExtensionContext.Store;
4036
import org.slf4j.Logger;
4137
import org.slf4j.LoggerFactory;
4238

@@ -45,7 +41,6 @@ public class AmqpClientTestExtension implements ExecutionCondition, BeforeAllCal
4541
AfterEachCallback {
4642

4743
private static final Logger LOGGER = LoggerFactory.getLogger(AmqpClientTestExtension.class);
48-
private static final Namespace NAMESPACE = Namespace.create(AmqpClientTestExtension.class);
4944

5045
static {
5146
Properties TESTS_PROPS = new Properties(System.getProperties());
@@ -66,31 +61,6 @@ public class AmqpClientTestExtension implements ExecutionCondition, BeforeAllCal
6661
}
6762
}
6863

69-
private static void maybeSetHaFieldValue(ExtensionContext context, boolean value) {
70-
if (context.getTestClass().isPresent() && context.getTestInstance().isPresent()) {
71-
try {
72-
Field haField = findField(context.getTestClass().get(), "ha");
73-
if (haField != null) {
74-
haField.setAccessible(true);
75-
haField.set(context.getTestInstance().get(), value);
76-
}
77-
} catch (Exception e) {
78-
// OK
79-
}
80-
}
81-
}
82-
83-
private static Field findField(Class<?> clazz, String fieldName) {
84-
try {
85-
return clazz.getDeclaredField(fieldName);
86-
} catch (NoSuchFieldException e) {
87-
if (clazz.getSuperclass() != null) {
88-
return findField(clazz.getSuperclass(), fieldName);
89-
}
90-
}
91-
return null;
92-
}
93-
9464
private static boolean isFunctionalSuite(ExtensionContext context) {
9565
return isTestSuite(context, FunctionalTestSuite.class);
9666
}
@@ -107,10 +77,6 @@ private static boolean isHaSuite(ExtensionContext context) {
10777
return isTestSuite(context, HaTestSuite.class);
10878
}
10979

110-
private static boolean isLastHaSuite(ExtensionContext context) {
111-
return isTestSuite(context, LastHaTestSuite.class);
112-
}
113-
11480
private static boolean isTestSuite(ExtensionContext context, Class<?> clazz) {
11581
return context.getUniqueId().contains(clazz.getName());
11682
}
@@ -162,22 +128,6 @@ private static boolean checkServerListening(String host, int port) {
162128
}
163129
}
164130

165-
private static Store store(ExtensionContext context) {
166-
return context.getRoot().getStore(NAMESPACE);
167-
}
168-
169-
private static boolean hasHaSuiteStarted(ExtensionContext context) {
170-
return "true".equals(store(context).get("ha"));
171-
}
172-
173-
private static void markHaSuiteStarted(ExtensionContext context) {
174-
store(context).put("ha", "true");
175-
}
176-
177-
private static void markHaSuiteFinished(ExtensionContext context) {
178-
store(context).remove("ha");
179-
}
180-
181131
@Override
182132
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
183133
// HA test suite must be checked first because it contains other test suites
@@ -199,39 +149,23 @@ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext con
199149
}
200150

201151
@Override
202-
public void beforeAll(ExtensionContext context) throws Exception {
203-
if (isHaSuite(context) && !hasHaSuiteStarted(context)) {
204-
LOGGER.info("Starting HA test suite");
205-
Host.rabbitmqctl("set_policy HA '.*' '{\"ha-mode\":\"all\"}'");
206-
markHaSuiteStarted(context);
207-
}
208-
if (isLastHaSuite(context)) {
209-
LOGGER.info("HA suite done, clearing HA state");
210-
Host.rabbitmqctl("clear_policy HA");
211-
markHaSuiteFinished(context);
212-
}
152+
public void beforeAll(ExtensionContext context) {
153+
213154
}
214155

215156
@Override
216157
public void beforeEach(ExtensionContext context) {
217158
LOGGER.info(
218-
"Starting test: {}.{} (nio? {}, HA? {})",
159+
"Starting test: {}.{} (nio? {})",
219160
context.getTestClass().get().getSimpleName(), context.getTestMethod().get().getName(),
220-
TestUtils.USE_NIO,
221-
hasHaSuiteStarted(context)
161+
TestUtils.USE_NIO
222162
);
223-
if (isHaSuite(context)) {
224-
maybeSetHaFieldValue(context, true);
225-
}
226163
}
227164

228165
@Override
229166
public void afterEach(ExtensionContext context) {
230167
LOGGER.info("Test finished: {}.{}",
231168
context.getTestClass().get().getSimpleName(), context.getTestMethod().get().getName());
232-
if (isHaSuite(context)) {
233-
maybeSetHaFieldValue(context, false);
234-
}
235169
}
236170

237171
}

0 commit comments

Comments
 (0)