-
- @Test
- public void testCancel() throws Exception {
- when(deviceWriteTx.cancel()).thenReturn(true);
- final Future<Object> cancelFuture = Patterns.ask(actorRef, new CancelRequest(), TIMEOUT);
- final Object result = Await.result(cancelFuture, TIMEOUT.duration());
- Preconditions.checkState(result instanceof Boolean);
- verify(deviceWriteTx).cancel();
- Assert.assertTrue((Boolean) result);
- }
-
- @Test
- public void testSubmit() throws Exception {
- when(deviceWriteTx.submit()).thenReturn(Futures.immediateCheckedFuture(null));
- final Future<Object> submitFuture = Patterns.ask(actorRef, new SubmitRequest(), TIMEOUT);
- final Object result = Await.result(submitFuture, TIMEOUT.duration());
- Assert.assertTrue(result instanceof SubmitReply);
- verify(deviceWriteTx).submit();
- }
-
- @Test
- public void testSubmitFail() throws Exception {
- final RpcError rpcError =
- RpcResultBuilder.newError(RpcError.ErrorType.APPLICATION, "fail", "fail");
- final TransactionCommitFailedException cause = new TransactionCommitFailedException("fail", rpcError);
- when(deviceWriteTx.submit()).thenReturn(Futures.immediateFailedCheckedFuture(cause));
- final Future<Object> submitFuture = Patterns.ask(actorRef, new SubmitRequest(), TIMEOUT);
- final Object result = Await.result(submitFuture, TIMEOUT.duration());
- Assert.assertEquals(cause, result);
- verify(deviceWriteTx).submit();
- }
-
-}
\ No newline at end of file