@Test(expected = TestException.class)
public void testReadWithAsyncRemoteOperatonFailure() throws Throwable {

    ActorRef actorRef = setupActorContextWithInitialCreateTransaction(getSystem(), READ_ONLY);
    doReturn(Futures.failed(new TestException())).when(mockActorContext)
            .executeOperationAsync(eq(actorSelection(actorRef)), eqReadData(), any(Timeout.class));
    TransactionProxy transactionProxy = new TransactionProxy(mockComponentFactory, READ_ONLY);
    propagateReadFailedExceptionCause(transactionProxy.read(TestModel.TEST_PATH));
}