I am writing a JUnit
test case for a method in which I am getting a ClassCastException
. I am getting this exception when the request object sets the entity. serviceRequest.setEntity((ResendDocumentsRequest)request);
Method under test
public Object invokeService(String key, Object request) {
if( UiIntegrationKeyConstants.RESEND_DOCUMENTS.equals( key ) ) {
ResendDocumentsServiceResponse serviceResponse = null;
try {
ESignatureClient client = (ESignatureClient) AppContext.getBean("eSignatureRestClient");
ResendDocumentsServiceRequest serviceRequest = client.getResendDocumentsServiceRequest();
serviceRequest.setEntity((ResendDocumentsRequest)request);
serviceResponse = client.resendDocuments(serviceRequest);
} catch (ESignatureClientException e) {
log.error("Exception while retrieving documents Detail "+ e.getMessage());
}
return serviceResponse.getEntity();
}
}
JUnit test case
private ResendDocumentsServiceRequest resendDocumentsServiceRequest;
private ResendDocumentsServiceResponse resendDocumentsServiceResponse;
@SuppressWarnings("unchecked")
@Before
public void setUP() {
mockStatic( AppContext.class );
esignatureClient = mock( ESignatureClient.class );
resendDocumentsServiceRequest = mock( ResendDocumentsServiceRequest.class );
resendDocumentsServiceResponse = mock( ResendDocumentsServiceResponse.class );
}
@Test
public void testESignatureClientException() {
ESignatureServiceInvoker invoker = new ESignatureServiceInvoker();
PowerMockito.when( AppContext.getBean( eq( "eSignatureRestClient" ) ) ).thenReturn( esignatureClient );
when( esignatureClient.getResendDocumentsServiceRequest() ).thenReturn( resendDocumentsServiceRequest );
try {
doThrow( new ESignatureClientException() ).when( esignatureClient ).resendDocuments( resendDocumentsServiceRequest );
resendDocumentsServiceResponse = ( ResendDocumentsServiceResponse ) invoker.invokeService( UiIntegrationKeyConstants.RESEND_DOCUMENTS , resendDocumentsServiceRequest );
} catch ( ESignatureClientException ex ) {
assertNotNull( ex );
}
}
stack trace:
java.lang.ClassCastException: com.whatever.ResendDocumentsServiceRequest$$EnhancerByMockitoWithCGLIB$$15a76565 cannot be cast to com.whatever.ResendDocumentsRequest