Exception apiException = new Exception();
when(soapClientHandler.invokeSoapCall(soapCall)).thenReturn(soapCallReturn);
when(soapCallReturn.getException()).thenReturn(apiException);
when(tokenExpirationDetector.isTokenExpiredException(apiException)).thenReturn(true);
when(dfaServiceDescriptor.getInterfaceClass()).thenReturn((Class) getClass());
doThrow(new AuthenticationException(null, null) {})
.when(dfaHeaderHandler).setHeaders(soapClient, dfaSession, dfaServiceDescriptor);
assertSame(soapCallReturn, dfaServiceClient.callSoapClient(soapCall));
verify(soapClientHandler, times(1)).invokeSoapCall(soapCall);