DDMDataProviderInvokerImpl implements DDMDataProviderInvoker { @Override public DDMDataProviderResponse invoke( DDMDataProviderRequest ddmDataProviderRequest) { _invoked = true; try { return doInvoke(ddmDataProviderRequest); } catch (Exception exception) { if (_log.isWarnEnabled()) { _log.warn( "Unable to invoke DDM Data Provider instance ID " + ddmDataProviderRequest.getDDMDataProviderId(), exception); } return createDDMDataProviderErrorResponse(exception); } }  @Override DDMDataProviderResponse invoke(
		DDMDataProviderRequest ddmDataProviderRequest);  }
@Test public void testInvoke() throws Exception { DDMDataProviderInvokerImpl ddmDataProviderInvokerImpl = mock( DDMDataProviderInvokerImpl.class); DDMDataProviderRequest.Builder builder = DDMDataProviderRequest.Builder.newBuilder(); DDMDataProviderRequest ddmDataProviderRequest = builder.build(); when( ddmDataProviderInvokerImpl.doInvoke(ddmDataProviderRequest) ).thenThrow( Exception.class ); when( ddmDataProviderInvokerImpl.createDDMDataProviderErrorResponse( Matchers.any(Exception.class)) ).thenCallRealMethod(); when( ddmDataProviderInvokerImpl.invoke(ddmDataProviderRequest) ).thenCallRealMethod(); DDMDataProviderResponse ddmDataProviderResponse = ddmDataProviderInvokerImpl.invoke(ddmDataProviderRequest); Assert.assertEquals( DDMDataProviderResponseStatus.UNKNOWN_ERROR, ddmDataProviderResponse.getStatus()); }