WIP
[demos/example-siren] / spring-consumer / src / test / java / de / juplo / demos / pact / ContractTest.java
index 8db0dbc..85d40b0 100644 (file)
@@ -1,10 +1,7 @@
 package de.juplo.demos.pact;
 
 import au.com.dius.pact.consumer.MockServer;
-import au.com.dius.pact.consumer.dsl.LambdaDsl;
-import au.com.dius.pact.consumer.dsl.PactDslJsonBody;
-import au.com.dius.pact.consumer.dsl.PactDslJsonRootValue;
-import au.com.dius.pact.consumer.dsl.PactDslWithProvider;
+import au.com.dius.pact.consumer.dsl.*;
 import au.com.dius.pact.consumer.junit5.PactConsumerTestExt;
 import au.com.dius.pact.consumer.junit5.PactTestFor;
 import au.com.dius.pact.core.model.RequestResponsePact;
@@ -35,12 +32,18 @@ public class ContractTest
             .headers(Map.of("Content-Type", "application/vnd.siren+json"))
             .body(LambdaDsl.newJsonBody(body ->
             {
-              body.stringType("name");
-              body.booleanType("happy");
-              // body.hexValue("hexCode");
-              body.id();
-              body.ipV4Address("localAddress");
-              body.numberValue("age", 100);
+              body.array("entities", entities ->
+              {
+                body.arrayContaining("actions", actions ->
+                {
+                  actions.object(object ->
+                  {
+                    object.stringType("name","update");
+                    object.stringType("method", "PUT");
+                    object.matchUrl2("href", Matchers.regexp("\\d+", "1234"));
+                  });
+                });
+              });
             }).build())
         .toPact();
   }