.headers(Map.of("Content-Type", "application/vnd.siren+json"))
.body(LambdaDsl.newJsonBody(body ->
{
- body.arrayContaining("actions", actions ->
- {
- actions.object(object ->
- {
- object.stringValue("name", "update");
- object.stringValue("method", "PUT");
-
- });
- });
}).build())
.toPact();
}
},
"response": {
"body": {
- "age": 100,
- "happy": true,
- "id": 1234567890,
- "localAddress": "127.0.0.1",
- "name": "string"
- },
- "generators": {
- "body": {
- "$.id": {
- "max": 2147483647,
- "min": 0,
- "type": "RandomInt"
- },
- "$.name": {
- "size": 20,
- "type": "RandomString"
- }
- }
+
},
"headers": {
"Content-Type": "application/vnd.siren+json"
},
- "matchingRules": {
- "body": {
- "$.happy": {
- "combine": "AND",
- "matchers": [
- {
- "match": "type"
- }
- ]
- },
- "$.id": {
- "combine": "AND",
- "matchers": [
- {
- "match": "type"
- }
- ]
- },
- "$.localAddress": {
- "combine": "AND",
- "matchers": [
- {
- "match": "regex",
- "regex": "(\\d{1,3}\\.)+\\d{1,3}"
- }
- ]
- },
- "$.name": {
- "combine": "AND",
- "matchers": [
- {
- "match": "type"
- }
- ]
- }
- }
- },
"status": 200
}
},