PassthroughInboundDocSubmissionDeferredRequest extends AbstractInboundDocSubmissionDeferredRequest { public PassthroughInboundDocSubmissionDeferredRequest() { this(new AdapterDocSubmissionDeferredRequestProxyObjectFactory(), new DocSubmissionDeferredRequestAuditLogger(), DocSubmissionUtils.getInstance()); } PassthroughInboundDocSubmissionDeferredRequest();  PassthroughInboundDocSubmissionDeferredRequest(
        AdapterDocSubmissionDeferredRequestProxyObjectFactory adapterFactory,
        DocSubmissionDeferredRequestAuditLogger auditLogger,
        DocSubmissionUtils dsUtils); @Override XDRAcknowledgementType processDocSubmissionRequest(ProvideAndRegisterDocumentSetRequestType body,
        AssertionType assertion);  }
@Test public void passthroughInboundDocSubmissionDeferredRequest() { ProvideAndRegisterDocumentSetRequestType request = new ProvideAndRegisterDocumentSetRequestType(); AssertionType assertion = new AssertionType(); XDRAcknowledgementType expectedResponse = new XDRAcknowledgementType(); Properties webContextProperties = new Properties(); when(adapterFactory.getAdapterDocSubmissionDeferredRequestProxy()).thenReturn(adapterProxy); when(adapterProxy.provideAndRegisterDocumentSetBRequest(request, assertion)).thenReturn(expectedResponse); PassthroughInboundDocSubmissionDeferredRequest passthroughDocSubmission = new PassthroughInboundDocSubmissionDeferredRequest(adapterFactory, getAuditLogger(true), dsUtils); XDRAcknowledgementType actualResponse = passthroughDocSubmission.provideAndRegisterDocumentSetBRequest(request, assertion, webContextProperties); assertSame(expectedResponse, actualResponse); verify(mockEJBLogger).auditResponseMessage(eq(request), eq(actualResponse), eq(assertion), isNull( NhinTargetSystemType.class), eq(NhincConstants.AUDIT_LOG_INBOUND_DIRECTION), eq(NhincConstants.AUDIT_LOG_NHIN_INTERFACE), eq(Boolean.FALSE), eq(webContextProperties), eq(NhincConstants.NHINC_XDR_REQUEST_SERVICE_NAME), any(DocSubmissionDeferredRequestAuditTransforms.class)); }