diff --git a/easy-cucumber-core/pom.xml b/easy-cucumber-core/pom.xml
index dba058a..56d3f50 100644
--- a/easy-cucumber-core/pom.xml
+++ b/easy-cucumber-core/pom.xml
@@ -6,7 +6,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
easy-cucumber-core
jar
diff --git a/easy-cucumber-datasource/pom.xml b/easy-cucumber-datasource/pom.xml
index da76eeb..3f7ae17 100644
--- a/easy-cucumber-datasource/pom.xml
+++ b/easy-cucumber-datasource/pom.xml
@@ -6,7 +6,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
easy-cucumber-datasource
jar
diff --git a/easy-cucumber-jms/pom.xml b/easy-cucumber-jms/pom.xml
index 4918da3..4e1d2e9 100644
--- a/easy-cucumber-jms/pom.xml
+++ b/easy-cucumber-jms/pom.xml
@@ -6,7 +6,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
easy-cucumber-jms
jar
diff --git a/easy-cucumber-mock/pom.xml b/easy-cucumber-mock/pom.xml
index ef839ca..55e0223 100644
--- a/easy-cucumber-mock/pom.xml
+++ b/easy-cucumber-mock/pom.xml
@@ -6,7 +6,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
easy-cucumber-mock
jar
diff --git a/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/objects/StubbyRequest.java b/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/objects/StubbyRequest.java
index ab6f030..edd80bd 100644
--- a/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/objects/StubbyRequest.java
+++ b/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/objects/StubbyRequest.java
@@ -23,8 +23,14 @@ public class StubbyRequest implements Serializable {
private ResponseBody response;
public enum BodyType {
+ RAW,
JSON,
- RAW
+ JSON_STRICT,
+ JSON_ONLY_MATCHING_FIELDS,
+ EXACT,
+ REGEX,
+ JSON_SCHEMA,
+ XPATH
}
@Getter
diff --git a/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/utils/mockserver/assemblers/ExpectationRequestAssembler.java b/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/utils/mockserver/assemblers/ExpectationRequestAssembler.java
index 17ad416..0e89364 100644
--- a/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/utils/mockserver/assemblers/ExpectationRequestAssembler.java
+++ b/easy-cucumber-mock/src/main/java/io/github/osvaldjr/mock/utils/mockserver/assemblers/ExpectationRequestAssembler.java
@@ -7,11 +7,17 @@
import java.util.List;
import java.util.Map;
+import org.mockserver.matchers.MatchType;
import org.mockserver.mock.Expectation;
import org.mockserver.model.Header;
import org.mockserver.model.HttpRequest;
import org.mockserver.model.HttpResponse;
+import org.mockserver.model.JsonBody;
+import org.mockserver.model.JsonSchemaBody;
import org.mockserver.model.Parameter;
+import org.mockserver.model.RegexBody;
+import org.mockserver.model.StringBody;
+import org.mockserver.model.XPathBody;
import org.springframework.stereotype.Component;
import gherkin.deps.com.google.gson.Gson;
@@ -47,15 +53,27 @@ private HttpRequest getHttpRequest(StubbyRequest.RequestBody request) {
.withMethod(request.getMethod())
.withPath("/" + request.getUrl())
.withHeaders(getHeaders(request.getHeaders()))
- .withQueryStringParameters(getQueryParameters(request.getQueryParams()))
- .withBody(getRequestBody(request));
- return httpRequest;
- }
+ .withQueryStringParameters(getQueryParameters(request.getQueryParams()));
- private String getRequestBody(StubbyRequest.RequestBody request) {
- return request.getBodyType() == StubbyRequest.BodyType.RAW
- ? request.getBody().toString()
- : gson.toJson(request.getBody());
+ if (request.getBodyType() == StubbyRequest.BodyType.RAW) {
+ httpRequest.withBody(request.getBody().toString());
+ } else if (request.getBodyType() == StubbyRequest.BodyType.JSON_STRICT) {
+ httpRequest.withBody(JsonBody.json(request.getBody(), MatchType.STRICT));
+ } else if (request.getBodyType() == StubbyRequest.BodyType.JSON_ONLY_MATCHING_FIELDS) {
+ httpRequest.withBody(JsonBody.json(request.getBody(), MatchType.ONLY_MATCHING_FIELDS));
+ } else if (request.getBodyType() == StubbyRequest.BodyType.EXACT) {
+ httpRequest.withBody(StringBody.exact(request.getBody().toString()));
+ } else if (request.getBodyType() == StubbyRequest.BodyType.REGEX) {
+ httpRequest.withBody(RegexBody.regex(request.getBody().toString()));
+ } else if (request.getBodyType() == StubbyRequest.BodyType.JSON_SCHEMA) {
+ httpRequest.withBody(JsonSchemaBody.jsonSchema(request.getBody().toString()));
+ } else if (request.getBodyType() == StubbyRequest.BodyType.XPATH) {
+ httpRequest.withBody(XPathBody.xpath(request.getBody().toString()));
+ } else {
+ httpRequest.withBody(gson.toJson(request.getBody()));
+ }
+
+ return httpRequest;
}
private List getQueryParameters(Map queryParams) {
diff --git a/easy-cucumber-owasp-zap/pom.xml b/easy-cucumber-owasp-zap/pom.xml
index 6358d72..f20ecdb 100644
--- a/easy-cucumber-owasp-zap/pom.xml
+++ b/easy-cucumber-owasp-zap/pom.xml
@@ -6,7 +6,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
easy-cucumber-owasp-zap
jar
diff --git a/examples/complete-springboot/pom.xml b/examples/complete-springboot/pom.xml
index 04284d7..68dfd33 100644
--- a/examples/complete-springboot/pom.xml
+++ b/examples/complete-springboot/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-activemq/pom.xml b/examples/simple-springboot-activemq/pom.xml
index 5ffe738..10227f8 100644
--- a/examples/simple-springboot-activemq/pom.xml
+++ b/examples/simple-springboot-activemq/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-core/pom.xml b/examples/simple-springboot-core/pom.xml
index e825ccf..6889dd1 100644
--- a/examples/simple-springboot-core/pom.xml
+++ b/examples/simple-springboot-core/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-datasource/pom.xml b/examples/simple-springboot-datasource/pom.xml
index daef369..2d37907 100644
--- a/examples/simple-springboot-datasource/pom.xml
+++ b/examples/simple-springboot-datasource/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-mockserver/pom.xml b/examples/simple-springboot-mockserver/pom.xml
index dd6962e..6b03846 100644
--- a/examples/simple-springboot-mockserver/pom.xml
+++ b/examples/simple-springboot-mockserver/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-owaspzap/pom.xml b/examples/simple-springboot-owaspzap/pom.xml
index 0c1fd43..84904dc 100644
--- a/examples/simple-springboot-owaspzap/pom.xml
+++ b/examples/simple-springboot-owaspzap/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/examples/simple-springboot-stubby/pom.xml b/examples/simple-springboot-stubby/pom.xml
index 60f47bb..f1956d9 100644
--- a/examples/simple-springboot-stubby/pom.xml
+++ b/examples/simple-springboot-stubby/pom.xml
@@ -17,7 +17,7 @@
1.8
Greenwich.SR2
- 1.0.2
+ 1.0.3
diff --git a/pom.xml b/pom.xml
index 2307f3a..138a0a0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
io.github.osvaldjr
easy-cucumber-parent
- 1.0.2
+ 1.0.3
pom
io.github.osvaldjr:easy-cucumber
Easy Cucumber JVM Testing