6060import org .mockito .junit .jupiter .MockitoExtension ;
6161
6262@ ExtendWith (MockitoExtension .class )
63- @ SuppressWarnings ({"SystemOut" , "CatchingUnchecked" , "InterruptedExceptionSwallowed" })
63+ @ SuppressWarnings ({"CatchAndPrintStackTrace" , " SystemOut" , "CatchingUnchecked" , "InterruptedExceptionSwallowed" })
6464class OpampClientImplTest {
6565 private RequestService requestService ;
6666 private OpampClientState state ;
@@ -71,8 +71,6 @@ class OpampClientImplTest {
7171
7272 @ BeforeEach
7373 void setUp () {
74- System .out .println ("[DEBUG] Test setUp - Thread: " + Thread .currentThread ().getName () +
75- ", Time: " + System .currentTimeMillis ());
7674 effectiveConfig =
7775 new TestEffectiveConfig (
7876 new EffectiveConfig .Builder ()
@@ -89,33 +87,26 @@ void setUp() {
8987 new State .Flags ((long ) AgentToServerFlags .AgentToServerFlags_Unspecified .getValue ()),
9088 effectiveConfig );
9189 requestService = createHttpService ();
92- System .out .println ("[DEBUG] Test setUp complete - Server URL: " + server .url ("/v1/opamp" ));
9390 }
9491
9592 @ AfterEach
9693 void tearDown () {
97- System .out .println ("[DEBUG] Test tearDown - Thread: " + Thread .currentThread ().getName () +
98- ", Time: " + System .currentTimeMillis ());
9994 if (client != null ) {
10095 try {
10196 client .stop ();
102- System .out .println ("[DEBUG] Client stopped successfully" );
10397 } catch (Exception e ) {
104- System .out .println ("[DEBUG] Error stopping client: " + e .getMessage ());
10598 e .printStackTrace ();
10699 }
107100 }
108101
109102 // Clear any remaining server requests
110103 try {
111104 while (server .takeRequest (100 , TimeUnit .MILLISECONDS ) != null ) {
112- System . out . println ( "[DEBUG] Cleared remaining request from server queue" );
105+ // Clear queue
113106 }
114107 } catch (InterruptedException e ) {
115108 Thread .currentThread ().interrupt ();
116109 }
117-
118- System .out .println ("[DEBUG] Test tearDown complete" );
119110 }
120111
121112 @ Test
@@ -222,7 +213,6 @@ void verifyStartOnlyOnce() {
222213
223214 @ Test
224215 void onSuccess_withChangesToReport_notifyCallbackOnMessage () {
225- System .out .println ("[DEBUG] Starting onSuccess_withChangesToReport_notifyCallbackOnMessage test" );
226216 initializeClient ();
227217 AgentRemoteConfig remoteConfig =
228218 new AgentRemoteConfig .Builder ()
@@ -231,51 +221,30 @@ void onSuccess_withChangesToReport_notifyCallbackOnMessage() {
231221 ServerToAgent serverToAgent = new ServerToAgent .Builder ().remote_config (remoteConfig ).build ();
232222 enqueueServerToAgentResponse (serverToAgent );
233223
234- System .out .println ("[DEBUG] Before sendRequest - onMessageCalls: " + callbacks .onMessageCalls .get ());
235224 // Force request
236225 requestService .sendRequest ();
237226
238- System .out .println ("[DEBUG] After sendRequest - Starting await for callback" );
239- // Await for onMessage call - increased timeout for debugging
227+ // Await for onMessage call
240228 await ().atMost (Duration .ofSeconds (10 )).pollInterval (Duration .ofMillis (100 ))
241- .until (() -> {
242- int calls = callbacks .onMessageCalls .get ();
243- System .out .println ("[DEBUG] Current onMessageCalls: " + calls +
244- ", Thread: " + Thread .currentThread ().getName () +
245- ", Time: " + System .currentTimeMillis ());
246- return calls == 1 ;
247- });
229+ .until (() -> callbacks .onMessageCalls .get () == 1 );
248230
249- System .out .println ("[DEBUG] Await completed - verifying callback" );
250231 verify (callbacks ).onMessage (MessageData .builder ().setRemoteConfig (remoteConfig ).build ());
251- System .out .println ("[DEBUG] Test completed successfully" );
252232 }
253233
254234 @ Test
255235 void onSuccess_withNoChangesToReport_doNotNotifyCallbackOnMessage () {
256- System .out .println ("[DEBUG] Starting onSuccess_withNoChangesToReport_doNotNotifyCallbackOnMessage test" );
257236 initializeClient ();
258237 ServerToAgent serverToAgent = new ServerToAgent .Builder ().build ();
259238 enqueueServerToAgentResponse (serverToAgent );
260239
261- System .out .println ("[DEBUG] Before sendRequest - onMessageCalls: " + callbacks .onMessageCalls .get ());
262240 // Force request
263241 requestService .sendRequest ();
264242
265- System .out .println ("[DEBUG] After sendRequest - Starting await during period" );
266- // Giving some time for the callback to get called - increased timeout for debugging
243+ // Giving some time for the callback to get called
267244 await ().during (Duration .ofSeconds (3 )).pollInterval (Duration .ofMillis (100 ))
268- .untilAsserted (() -> {
269- int calls = callbacks .onMessageCalls .get ();
270- System .out .println ("[DEBUG] Current onMessageCalls (should stay 0): " + calls +
271- ", Thread: " + Thread .currentThread ().getName () +
272- ", Time: " + System .currentTimeMillis ());
273- assertThat (calls ).isEqualTo (0 );
274- });
245+ .untilAsserted (() -> assertThat (callbacks .onMessageCalls .get ()).isEqualTo (0 ));
275246
276- System .out .println ("[DEBUG] Await completed - verifying no callback was called" );
277247 verify (callbacks , never ()).onMessage (any ());
278- System .out .println ("[DEBUG] Test completed successfully" );
279248 }
280249
281250 @ Test
@@ -314,23 +283,13 @@ void verifyRemoteConfigStatusSetter() {
314283
315284 @ Test
316285 void onConnectionSuccessful_notifyCallback () {
317- System .out .println ("[DEBUG] Starting onConnectionSuccessful_notifyCallback test" );
318286 initializeClient ();
319287
320- System .out .println ("[DEBUG] Client initialized - Starting await for connect callback" );
321288 await ().atMost (Duration .ofSeconds (10 )).pollInterval (Duration .ofMillis (100 ))
322- .until (() -> {
323- int calls = callbacks .onConnectCalls .get ();
324- System .out .println ("[DEBUG] Current onConnectCalls: " + calls +
325- ", Thread: " + Thread .currentThread ().getName () +
326- ", Time: " + System .currentTimeMillis ());
327- return calls == 1 ;
328- });
289+ .until (() -> callbacks .onConnectCalls .get () == 1 );
329290
330- System .out .println ("[DEBUG] Await completed - verifying callbacks" );
331291 verify (callbacks ).onConnect ();
332292 verify (callbacks , never ()).onConnectFailed (any ());
333- System .out .println ("[DEBUG] Test completed successfully" );
334293 }
335294
336295 @ Test
@@ -363,30 +322,19 @@ void onFailedResponse_keepFieldsForNextRequest() {
363322
364323 @ Test
365324 void onFailedResponse_withServerErrorData_notifyCallback () {
366- System .out .println ("[DEBUG] Starting onFailedResponse_withServerErrorData_notifyCallback test" );
367325 initializeClient ();
368326
369327 ServerErrorResponse errorResponse = new ServerErrorResponse .Builder ().build ();
370328 enqueueServerToAgentResponse (new ServerToAgent .Builder ().error_response (errorResponse ).build ());
371329
372- System .out .println ("[DEBUG] Before sendRequest - onErrorResponseCalls: " + callbacks .onErrorResponseCalls .get ());
373330 // Force request
374331 requestService .sendRequest ();
375332
376- System .out .println ("[DEBUG] After sendRequest - Starting await for error callback" );
377333 await ().atMost (Duration .ofSeconds (10 )).pollInterval (Duration .ofMillis (100 ))
378- .until (() -> {
379- int calls = callbacks .onErrorResponseCalls .get ();
380- System .out .println ("[DEBUG] Current onErrorResponseCalls: " + calls +
381- ", Thread: " + Thread .currentThread ().getName () +
382- ", Time: " + System .currentTimeMillis ());
383- return calls == 1 ;
384- });
334+ .until (() -> callbacks .onErrorResponseCalls .get () == 1 );
385335
386- System .out .println ("[DEBUG] Await completed - verifying callbacks" );
387336 verify (callbacks ).onErrorResponse (errorResponse );
388337 verify (callbacks , never ()).onMessage (any ());
389- System .out .println ("[DEBUG] Test completed successfully" );
390338 }
391339
392340 @ Test
@@ -401,12 +349,10 @@ void onConnectionFailed_notifyCallback() {
401349
402350 @ Test
403351 void whenServerProvidesNewInstanceUid_useIt () {
404- System .out .println ("[DEBUG] Starting whenServerProvidesNewInstanceUid_useIt test" );
405352 initializeClient ();
406353 byte [] initialUid = state .instanceUid .get ();
407- System .out .println ("[DEBUG] Initial UID: " + java .util .Arrays .toString (initialUid ));
408354
409- byte [] serverProvidedUid = new byte [] {1 , 2 , 3 };
355+ byte [] serverProvidedUid = new byte [] {4 , 5 , 6 };
410356 ServerToAgent response =
411357 new ServerToAgent .Builder ()
412358 .agent_identification (
@@ -416,34 +362,20 @@ void whenServerProvidesNewInstanceUid_useIt() {
416362 .build ();
417363
418364 enqueueServerToAgentResponse (response );
419- System .out .println ("[DEBUG] Before sendRequest - current UID: " +
420- java .util .Arrays .toString (state .instanceUid .get ()));
421365 requestService .sendRequest ();
422366
423- System .out .println ("[DEBUG] After sendRequest - Starting await for UID change" );
424367 await ().atMost (Duration .ofSeconds (10 )).pollInterval (Duration .ofMillis (100 ))
425368 .until (() -> {
426369 byte [] currentUid = state .instanceUid .get ();
427- boolean changed = currentUid != initialUid ;
428- System .out .println ("[DEBUG] Current UID: " + java .util .Arrays .toString (currentUid ) +
429- ", Changed: " + changed +
430- ", Thread: " + Thread .currentThread ().getName () +
431- ", Time: " + System .currentTimeMillis ());
432- return changed ;
370+ return !java .util .Arrays .equals (currentUid , initialUid );
433371 });
434372
435- System .out .println ("[DEBUG] Await completed - verifying UID change" );
436373 assertThat (state .instanceUid .get ()).isEqualTo (serverProvidedUid );
437- System .out .println ("[DEBUG] Test completed successfully - Final UID: " +
438- java .util .Arrays .toString (state .instanceUid .get ()));
439374 }
440375
441376 @ Test
442377 void flakiness_stress_test_all_timing_operations () {
443- System .out .println ("[DEBUG] Starting stress test for flakiness detection" );
444378 for (int i = 1 ; i <= 10 ; i ++) {
445- System .out .println ("[DEBUG] ===== ITERATION " + i + " =====" );
446-
447379 try {
448380 // Test connection callback timing
449381 initializeClient ();
@@ -481,20 +413,16 @@ void flakiness_stress_test_all_timing_operations() {
481413 await ().atMost (Duration .ofSeconds (5 )).pollInterval (Duration .ofMillis (50 ))
482414 .until (() -> !java .util .Arrays .equals (state .instanceUid .get (), beforeUid ));
483415
484- System . out . println ( "[DEBUG] Iteration " + i + " completed successfully" );
485-
486- // Force cleanup between iterations
487- client . stop ();
488- Thread .sleep (100 ); // Small delay to ensure cleanup
416+ // Force cleanup between iterations - ensure client is stopped before next iteration
417+ if ( client != null ) {
418+ client . stop ();
419+ }
420+ Thread .sleep (50 ); // Small delay to ensure cleanup
489421
490422 } catch (Exception e ) {
491- System .out .println ("[ERROR] Iteration " + i + " failed: " + e .getMessage ());
492- e .printStackTrace ();
493423 throw new RuntimeException ("Stress test failed at iteration " + i , e );
494424 }
495425 }
496-
497- System .out .println ("[DEBUG] All stress test iterations completed successfully" );
498426 }
499427
500428 private static AgentToServer getAgentToServerMessage (RecordedRequest request ) {
@@ -507,13 +435,8 @@ private static AgentToServer getAgentToServerMessage(RecordedRequest request) {
507435
508436 private RecordedRequest takeRequest () {
509437 try {
510- System .out .println ("[DEBUG] Taking request from server - Thread: " + Thread .currentThread ().getName ());
511- RecordedRequest request = server .takeRequest (5 , TimeUnit .SECONDS ); // Increased timeout
512- System .out .println ("[DEBUG] Request taken: " + (request != null ?
513- "SUCCESS - Method: " + request .getMethod () : "TIMEOUT" ));
514- return request ;
438+ return server .takeRequest (5 , TimeUnit .SECONDS );
515439 } catch (InterruptedException e ) {
516- System .out .println ("[DEBUG] takeRequest interrupted: " + e .getMessage ());
517440 throw new RuntimeException (e );
518441 }
519442 }
@@ -556,19 +479,14 @@ private RecordedRequest initializeClient() {
556479 }
557480
558481 private RecordedRequest initializeClient (ServerToAgent initialResponse ) {
559- System .out .println ("[DEBUG] Initializing client with response: " + initialResponse );
560482 client = OpampClientImpl .create (requestService , state );
561483
562484 // Prepare first request on start
563485 enqueueServerToAgentResponse (initialResponse );
564486
565487 callbacks = spy (new TestCallbacks ());
566- System .out .println ("[DEBUG] Starting client - Thread: " + Thread .currentThread ().getName ());
567488 client .start (callbacks );
568- System .out .println ("[DEBUG] Client started - taking request from server" );
569- RecordedRequest request = takeRequest ();
570- System .out .println ("[DEBUG] Request taken: " + (request != null ? "SUCCESS" : "NULL" ));
571- return request ;
489+ return takeRequest ();
572490 }
573491
574492 private static class TestEffectiveConfig extends State .EffectiveConfig {
@@ -622,36 +540,22 @@ private static class TestCallbacks implements OpampClient.Callbacks {
622540
623541 @ Override
624542 public void onConnect () {
625- int count = onConnectCalls .incrementAndGet ();
626- System .out .println ("[DEBUG] TestCallbacks.onConnect() called - count: " + count +
627- ", Thread: " + Thread .currentThread ().getName () +
628- ", Time: " + System .currentTimeMillis ());
543+ onConnectCalls .incrementAndGet ();
629544 }
630545
631546 @ Override
632547 public void onConnectFailed (@ Nullable Throwable throwable ) {
633- int count = onConnectFailedCalls .incrementAndGet ();
634- System .out .println ("[DEBUG] TestCallbacks.onConnectFailed() called - count: " + count +
635- ", Exception: " + (throwable != null ? throwable .getMessage () : "null" ) +
636- ", Thread: " + Thread .currentThread ().getName () +
637- ", Time: " + System .currentTimeMillis ());
548+ onConnectFailedCalls .incrementAndGet ();
638549 }
639550
640551 @ Override
641552 public void onErrorResponse (ServerErrorResponse errorResponse ) {
642- int count = onErrorResponseCalls .incrementAndGet ();
643- System .out .println ("[DEBUG] TestCallbacks.onErrorResponse() called - count: " + count +
644- ", Thread: " + Thread .currentThread ().getName () +
645- ", Time: " + System .currentTimeMillis ());
553+ onErrorResponseCalls .incrementAndGet ();
646554 }
647555
648556 @ Override
649557 public void onMessage (MessageData messageData ) {
650- int count = onMessageCalls .incrementAndGet ();
651- System .out .println ("[DEBUG] TestCallbacks.onMessage() called - count: " + count +
652- ", Thread: " + Thread .currentThread ().getName () +
653- ", Time: " + System .currentTimeMillis () +
654- ", MessageData: " + messageData );
558+ onMessageCalls .incrementAndGet ();
655559 }
656560 }
657561}
0 commit comments