}
private void callFoo() throws InterruptException {
String cid = getEngine().createUUID();
// This is running within the current DB transaction
auditTrail.synchLog(new AuditTrailEvent(1, new Date(), cid, "beforeFoo", getId(), cid, cid, "beforeFoo", "String", null));
mockAdapter.foo(getData(), cid);
// current Txn ends here
wait(WaitMode.ALL, 10000, TimeUnit.MILLISECONDS, cid);
// new Txn starts here
Response<?> res = getAndRemoveResponse(cid);
logger.info(res.toString());
auditTrail.synchLog(new AuditTrailEvent(1, new Date(), cid, "afterFoo", getId(), cid, cid, "afterFoo - result = "+res.toString(), "String", null));
assertNotNull(res);
assertFalse(res.isTimeout());
assertEquals(getData(), res.getResponse());
assertNull(res.getException());
// This is also running within the current DB transaction
auditTrail.synchLog(new AuditTrailEvent(1, new Date(), cid, "Assertions checked", getId(), cid, cid, "Assertions checked", "String", null));
}