I have been writing unit tests using mockito framework. I have this below legacy code, how do I mock the RemoteService client object in the approvalAction method without refactoring it?
public Map<String, String> approvalAction(long documentId, ActionCommandDTO request, FormData formData, byte[] prevData) {
RemoteService client = getRemoteService();
String urlString = String.format("formExtensions/%s?%s", formData.getId(), getAuthParam(formData.getRealm()));
try {
response = client.postEntity(urlString, String.class, approvalSvcRequestStr);
} catch (Exception e) {
// TODO: handle rollback properly for P2P
handleApprovalActionFailed(documentId, request, formData, prevData);
}
return map;
}
private RemoteService getRemoteService() {
RemoteServiceConfig remoteServiceConfig = (RemoteServiceConfig) this.serviceConfigRegistry.getServiceConfigs().get("approval");
remoteServiceConfig.setClientID(clientId);
remoteServiceConfig.setClientSecret(privateSecret);
RemoteService remoteService = new RemoteService(remoteServiceConfig, authorizationHeaderServiceImpl);
return remoteService;
}