Hi John,
I have found a solution for your issue.
First, why "return false;" mentioned above is failing.
When the VSE is looking for a match, it first matches on the Meta transaction; then looks for an exact match.
This explains why adding "return false;" to the Meta match script always went to the live service. Even with an exact match transaction. The initial match on Meta always fails, so the search for an exact match never happens.
Solution:
1. In the vsm, add a Scripted Assertion to the VS Image Response Selection step, as the last assertion.
2. Configure this assertion to call the Live Invocation step when returning true.
3. Add this script to the Scripted Assertion:
import com.itko.lisa.vse.ExecutionMode;
if (testExec.getStateObject("lisa.vse.execution.mode").equals(ExecutionMode.STAND_IN)) {
if (testExec.getStateObject("lisa.vse.matched.transaction") instanceof com.itko.lisa.vse.stateful.model.TransactionNode) {
return true;
}
}
return false;
Description of code:
The first if statement detects if the VS is in Stand In mode.
The inner if statement detect if the match is Meta or Exact.
So, if Stand In mode and Meta match the script will return true and re-route to the Live Invocation step