Setting State when Performing a MatchΒΆ

A response includes two fields, transitionsState and removesState which alter Hoverflies internal state during a match:

"request": {
    "path": [
        {
            "matcher": "exact",
            "value": "/pay"
        }
    ]
},
"response": {
    "status": 200,
    "body": "eggs and large bacon",
    "transitionsState" : {
        "payment-flow" : "complete",
    },
    "removesState" : [
        "basket"
    ]
}

In the above case, the following changes to Hoverflies internal state would be made on a match:

Current State of Hoverfly New State of Hoverfly? reason
payment-flow=pending,basket=full payment-flow=complete Payment value transitions, basket deleted by key
basket=full payment-flow=complete Payment value created, basket deleted by key
  payment-flow=complete Payment value created, basket already absent