From ad152fab8e4370c7e75bfdd874d8dbd23c1688e6 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 24 Mar 2022 23:08:25 +0100 Subject: [PATCH] Tests: protect InvocationOnMock#getArgument class cast exceptions --- .../config/IntegrationTestConfiguration.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java b/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java index 3ed55d4f..69bdce11 100644 --- a/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java +++ b/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java @@ -40,14 +40,25 @@ public class IntegrationTestConfiguration { final KmsManager spy = Mockito.spy(new FixedOneKmsManager(new KurentoSessionManager(), new DummyLoadManager())); doAnswer(invocation -> { List successfullyConnectedKmss = new ArrayList<>(); - List kmsProperties = invocation.getArgument(0); + List kmsProperties = null; + try { + kmsProperties = invocation.getArgument(0); + } catch (Exception e) { + System.err.println("Error getting argument from stubbed method: " + e.getMessage()); + } for (KmsProperties kmsProp : kmsProperties) { Kms kms = new Kms(kmsProp, Whitebox.getInternalState(spy, "loadManager"), spy); KurentoClient kClient = mock(KurentoClient.class); doAnswer(i -> { Thread.sleep((long) (Math.random() * 1000)); - ((Continuation) i.getArgument(0)).onSuccess(mock(MediaPipeline.class)); + Continuation continuation = null; + try { + continuation = i.getArgument(0); + } catch (Exception e) { + System.err.println("Error getting argument from stubbed method: " + e.getMessage()); + } + continuation.onSuccess(mock(MediaPipeline.class)); return null; }).when(kClient).createMediaPipeline((Continuation) any());