mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-20 14:49:53 +01:00
Run commit actions in unit tests.
This commit is contained in:
@@ -7,7 +7,7 @@ import org.jmock.api.Invocation;
|
|||||||
public class RunAction implements Action {
|
public class RunAction implements Action {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(Invocation invocation) throws Throwable {
|
public Object invoke(Invocation invocation) {
|
||||||
Runnable task = (Runnable) invocation.getParameter(0);
|
Runnable task = (Runnable) invocation.getParameter(0);
|
||||||
task.run();
|
task.run();
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
package org.briarproject.bramble.test;
|
package org.briarproject.bramble.test;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.db.CommitAction;
|
||||||
import org.briarproject.bramble.api.db.DbRunnable;
|
import org.briarproject.bramble.api.db.DbRunnable;
|
||||||
|
import org.briarproject.bramble.api.db.TaskAction;
|
||||||
import org.briarproject.bramble.api.db.Transaction;
|
import org.briarproject.bramble.api.db.Transaction;
|
||||||
import org.hamcrest.Description;
|
import org.hamcrest.Description;
|
||||||
import org.jmock.api.Action;
|
import org.jmock.api.Action;
|
||||||
import org.jmock.api.Invocation;
|
import org.jmock.api.Invocation;
|
||||||
|
|
||||||
public class RunTransactionAction implements Action {
|
class RunTransactionAction implements Action {
|
||||||
|
|
||||||
private final Transaction txn;
|
private final Transaction txn;
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess")
|
RunTransactionAction(Transaction txn) {
|
||||||
public RunTransactionAction(Transaction txn) {
|
|
||||||
this.txn = txn;
|
this.txn = txn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -19,6 +20,10 @@ public class RunTransactionAction implements Action {
|
|||||||
public Object invoke(Invocation invocation) throws Throwable {
|
public Object invoke(Invocation invocation) throws Throwable {
|
||||||
DbRunnable task = (DbRunnable) invocation.getParameter(1);
|
DbRunnable task = (DbRunnable) invocation.getParameter(1);
|
||||||
task.run(txn);
|
task.run(txn);
|
||||||
|
for (CommitAction action : txn.getActions()) {
|
||||||
|
if (action instanceof TaskAction)
|
||||||
|
((TaskAction) action).getTask().run();
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,5 +31,4 @@ public class RunTransactionAction implements Action {
|
|||||||
public void describeTo(Description description) {
|
public void describeTo(Description description) {
|
||||||
description.appendText("runs a task inside a database transaction");
|
description.appendText("runs a task inside a database transaction");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
package org.briarproject.bramble.test;
|
package org.briarproject.bramble.test;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.db.CommitAction;
|
||||||
import org.briarproject.bramble.api.db.NullableDbCallable;
|
import org.briarproject.bramble.api.db.NullableDbCallable;
|
||||||
|
import org.briarproject.bramble.api.db.TaskAction;
|
||||||
import org.briarproject.bramble.api.db.Transaction;
|
import org.briarproject.bramble.api.db.Transaction;
|
||||||
import org.hamcrest.Description;
|
import org.hamcrest.Description;
|
||||||
import org.jmock.api.Action;
|
import org.jmock.api.Action;
|
||||||
import org.jmock.api.Invocation;
|
import org.jmock.api.Invocation;
|
||||||
|
|
||||||
public class RunTransactionWithNullableResultAction implements Action {
|
class RunTransactionWithNullableResultAction implements Action {
|
||||||
|
|
||||||
private final Transaction txn;
|
private final Transaction txn;
|
||||||
|
|
||||||
public RunTransactionWithNullableResultAction(Transaction txn) {
|
RunTransactionWithNullableResultAction(Transaction txn) {
|
||||||
this.txn = txn;
|
this.txn = txn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,7 +20,12 @@ public class RunTransactionWithNullableResultAction implements Action {
|
|||||||
public Object invoke(Invocation invocation) throws Throwable {
|
public Object invoke(Invocation invocation) throws Throwable {
|
||||||
NullableDbCallable task =
|
NullableDbCallable task =
|
||||||
(NullableDbCallable) invocation.getParameter(1);
|
(NullableDbCallable) invocation.getParameter(1);
|
||||||
return task.call(txn);
|
Object result = task.call(txn);
|
||||||
|
for (CommitAction action : txn.getActions()) {
|
||||||
|
if (action instanceof TaskAction)
|
||||||
|
((TaskAction) action).getTask().run();
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,23 +1,30 @@
|
|||||||
package org.briarproject.bramble.test;
|
package org.briarproject.bramble.test;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.api.db.CommitAction;
|
||||||
import org.briarproject.bramble.api.db.DbCallable;
|
import org.briarproject.bramble.api.db.DbCallable;
|
||||||
|
import org.briarproject.bramble.api.db.TaskAction;
|
||||||
import org.briarproject.bramble.api.db.Transaction;
|
import org.briarproject.bramble.api.db.Transaction;
|
||||||
import org.hamcrest.Description;
|
import org.hamcrest.Description;
|
||||||
import org.jmock.api.Action;
|
import org.jmock.api.Action;
|
||||||
import org.jmock.api.Invocation;
|
import org.jmock.api.Invocation;
|
||||||
|
|
||||||
public class RunTransactionWithResultAction implements Action {
|
class RunTransactionWithResultAction implements Action {
|
||||||
|
|
||||||
private final Transaction txn;
|
private final Transaction txn;
|
||||||
|
|
||||||
public RunTransactionWithResultAction(Transaction txn) {
|
RunTransactionWithResultAction(Transaction txn) {
|
||||||
this.txn = txn;
|
this.txn = txn;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object invoke(Invocation invocation) throws Throwable {
|
public Object invoke(Invocation invocation) throws Throwable {
|
||||||
DbCallable task = (DbCallable) invocation.getParameter(1);
|
DbCallable task = (DbCallable) invocation.getParameter(1);
|
||||||
return task.call(txn);
|
Object result = task.call(txn);
|
||||||
|
for (CommitAction action : txn.getActions()) {
|
||||||
|
if (action instanceof TaskAction)
|
||||||
|
((TaskAction) action).getTask().run();
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user