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.
2
2
//
3
3
// This software, the RabbitMQ Java client library, is triple-licensed under the
4
4
// Mozilla Public License 2.0 ("MPL"), the GNU General Public License version 2
21
21
import com .rabbitmq .client .test .TestUtils ;
22
22
import com .rabbitmq .client .test .functional .FunctionalTestSuite ;
23
23
import com .rabbitmq .client .test .server .HaTestSuite ;
24
- import com .rabbitmq .client .test .server .LastHaTestSuite ;
25
24
import com .rabbitmq .client .test .server .ServerTestSuite ;
26
25
import com .rabbitmq .client .test .ssl .SslTestSuite ;
27
26
import com .rabbitmq .tools .Host ;
28
27
import java .io .File ;
29
- import java .lang .reflect .Field ;
30
28
import java .net .Socket ;
31
29
import java .util .Properties ;
32
30
import org .junit .jupiter .api .extension .AfterEachCallback ;
35
33
import org .junit .jupiter .api .extension .ConditionEvaluationResult ;
36
34
import org .junit .jupiter .api .extension .ExecutionCondition ;
37
35
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 ;
40
36
import org .slf4j .Logger ;
41
37
import org .slf4j .LoggerFactory ;
42
38
@@ -45,7 +41,6 @@ public class AmqpClientTestExtension implements ExecutionCondition, BeforeAllCal
45
41
AfterEachCallback {
46
42
47
43
private static final Logger LOGGER = LoggerFactory .getLogger (AmqpClientTestExtension .class );
48
- private static final Namespace NAMESPACE = Namespace .create (AmqpClientTestExtension .class );
49
44
50
45
static {
51
46
Properties TESTS_PROPS = new Properties (System .getProperties ());
@@ -66,31 +61,6 @@ public class AmqpClientTestExtension implements ExecutionCondition, BeforeAllCal
66
61
}
67
62
}
68
63
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
-
94
64
private static boolean isFunctionalSuite (ExtensionContext context ) {
95
65
return isTestSuite (context , FunctionalTestSuite .class );
96
66
}
@@ -107,10 +77,6 @@ private static boolean isHaSuite(ExtensionContext context) {
107
77
return isTestSuite (context , HaTestSuite .class );
108
78
}
109
79
110
- private static boolean isLastHaSuite (ExtensionContext context ) {
111
- return isTestSuite (context , LastHaTestSuite .class );
112
- }
113
-
114
80
private static boolean isTestSuite (ExtensionContext context , Class <?> clazz ) {
115
81
return context .getUniqueId ().contains (clazz .getName ());
116
82
}
@@ -162,22 +128,6 @@ private static boolean checkServerListening(String host, int port) {
162
128
}
163
129
}
164
130
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
-
181
131
@ Override
182
132
public ConditionEvaluationResult evaluateExecutionCondition (ExtensionContext context ) {
183
133
// HA test suite must be checked first because it contains other test suites
@@ -199,39 +149,23 @@ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext con
199
149
}
200
150
201
151
@ 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
+
213
154
}
214
155
215
156
@ Override
216
157
public void beforeEach (ExtensionContext context ) {
217
158
LOGGER .info (
218
- "Starting test: {}.{} (nio? {}, HA? {} )" ,
159
+ "Starting test: {}.{} (nio? {})" ,
219
160
context .getTestClass ().get ().getSimpleName (), context .getTestMethod ().get ().getName (),
220
- TestUtils .USE_NIO ,
221
- hasHaSuiteStarted (context )
161
+ TestUtils .USE_NIO
222
162
);
223
- if (isHaSuite (context )) {
224
- maybeSetHaFieldValue (context , true );
225
- }
226
163
}
227
164
228
165
@ Override
229
166
public void afterEach (ExtensionContext context ) {
230
167
LOGGER .info ("Test finished: {}.{}" ,
231
168
context .getTestClass ().get ().getSimpleName (), context .getTestMethod ().get ().getName ());
232
- if (isHaSuite (context )) {
233
- maybeSetHaFieldValue (context , false );
234
- }
235
169
}
236
170
237
171
}
0 commit comments