diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/DbExpectations.java b/bramble-core/src/test/java/org/briarproject/bramble/test/DbExpectations.java index 17682e78d..6f2a0c104 100644 --- a/bramble-core/src/test/java/org/briarproject/bramble/test/DbExpectations.java +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/DbExpectations.java @@ -25,7 +25,8 @@ public class DbExpectations extends Expectations { protected NullableDbCallable withNullableDbCallable( Transaction txn) { addParameterMatcher(any(NullableDbCallable.class)); - currentBuilder().setAction(new RunTransactionWithResultAction(txn)); + currentBuilder().setAction( + new RunTransactionWithNullableResultAction(txn)); return null; } diff --git a/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java new file mode 100644 index 000000000..9ed991c92 --- /dev/null +++ b/bramble-core/src/test/java/org/briarproject/bramble/test/RunTransactionWithNullableResultAction.java @@ -0,0 +1,28 @@ +package org.briarproject.bramble.test; + +import org.briarproject.bramble.api.db.NullableDbCallable; +import org.briarproject.bramble.api.db.Transaction; +import org.hamcrest.Description; +import org.jmock.api.Action; +import org.jmock.api.Invocation; + +public class RunTransactionWithNullableResultAction implements Action { + + private final Transaction txn; + + public RunTransactionWithNullableResultAction(Transaction txn) { + this.txn = txn; + } + + @Override + public Object invoke(Invocation invocation) throws Throwable { + NullableDbCallable task = + (NullableDbCallable) invocation.getParameter(1); + return task.call(txn); + } + + @Override + public void describeTo(Description description) { + description.appendText("runs a task inside a database transaction"); + } +}