}
protected Operation assertTransactionOperation(String testName,
TransactionOperationStatus opStatus,
TransactionDefinition txDefinition) {
Operation op = getLastEntered();
assertNotNull(testName + ": No operation extracted", op);
assertEquals(testName + ": Mismatched operation type", TransactionOperationCollectionAspect.TYPE, op.getType());
assertEquals(testName + ": Mismatched name", txDefinition.getName(), op.get("name", String.class));
assertEquals(testName + ": Mismatched read only value",
Boolean.valueOf(txDefinition.isReadOnly()), op.get("readOnly", Boolean.class));
assertEquals(testName + ": Mismatched timeout value", txDefinition.getTimeout(), op.getInt("timeout", (-1)));
Operation dummyOp = new Operation()
.put("propagation", txDefinition.getPropagationBehavior())
.put("isolation", txDefinition.getIsolationLevel());
assertEquals(testName + ": Mismatched propagation value",
TransactionOperationFinalizer.normalizePropagation(dummyOp),
op.get("propagation", String.class));