Skip to content

Commit

Permalink
Support new types mock server
Browse files Browse the repository at this point in the history
  • Loading branch information
LVCarnevalli committed Jul 17, 2020
1 parent 2680c59 commit 2f0bf92
Show file tree
Hide file tree
Showing 15 changed files with 46 additions and 22 deletions.
2 changes: 1 addition & 1 deletion easy-cucumber-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</parent>
<artifactId>easy-cucumber-core</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-datasource/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</parent>
<artifactId>easy-cucumber-datasource</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-jms/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</parent>
<artifactId>easy-cucumber-jms</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-mock/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</parent>
<artifactId>easy-cucumber-mock</artifactId>
<packaging>jar</packaging>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<Parameter> getQueryParameters(Map<String, String> queryParams) {
Expand Down
2 changes: 1 addition & 1 deletion easy-cucumber-owasp-zap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
</parent>
<artifactId>easy-cucumber-owasp-zap</artifactId>
<packaging>jar</packaging>
Expand Down
2 changes: 1 addition & 1 deletion examples/complete-springboot/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-activemq/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-datasource/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-mockserver/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-owaspzap/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion examples/simple-springboot-stubby/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<easy-cucumber.version>1.0.2</easy-cucumber.version>
<easy-cucumber.version>1.0.3</easy-cucumber.version>
</properties>

<dependencies>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</parent>
<groupId>io.github.osvaldjr</groupId>
<artifactId>easy-cucumber-parent</artifactId>
<version>1.0.2</version>
<version>1.0.3</version>
<packaging>pom</packaging>
<name>io.github.osvaldjr:easy-cucumber</name>
<description>Easy Cucumber JVM Testing</description>
Expand Down

0 comments on commit 2f0bf92

Please sign in to comment.