diff --git a/rest-assured-tutorial/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch b/rest-assured-tutorial/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch
deleted file mode 100644
index 627021fb96..0000000000
--- a/rest-assured-tutorial/.externalToolBuilders/org.eclipse.wst.jsdt.core.javascriptValidator.launch
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/rest-assured-tutorial/README.md b/rest-assured-tutorial/README.md
index 8b81626967..e69de29bb2 100644
--- a/rest-assured-tutorial/README.md
+++ b/rest-assured-tutorial/README.md
@@ -1,7 +0,0 @@
-=========
-
-## A Guide To REST-Assured
-
-
-### Relevant Articles:
-
diff --git a/rest-assured-tutorial/pom.xml b/rest-assured-tutorial/pom.xml
index 51b22fa0ff..43072d3094 100644
--- a/rest-assured-tutorial/pom.xml
+++ b/rest-assured-tutorial/pom.xml
@@ -1,143 +1,257 @@
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
com.baeldung
- rest-assured
- 0.1.0-SNAPSHOT
-
+ rest-assured-tutorial
+ 1.0
rest-assured
-
-
-
- 3.5.1
- 2.19.1
-
- 1.10.19
- 4.12
- 2.1.7
- 1.3
- 1.2.5
- 2.2.6
- 3.0.0
-
-
- 1.7.13
- 1.1.3
-
-
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.3
+
+ 7
+ 7
+
+
+
+
-
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1-b06
+
-
- org.slf4j
- slf4j-api
- ${org.slf4j.version}
-
-
- ch.qos.logback
- logback-classic
- ${logback.version}
-
-
-
- org.slf4j
- jcl-over-slf4j
- ${org.slf4j.version}
- runtime
-
-
- org.slf4j
- log4j-over-slf4j
- ${org.slf4j.version}
-
-
+
+
+ javax.servlet
+ servlet-api
+ 2.5
+
+
+
+
+ org.eclipse.jetty
+ jetty-security
+ 9.2.0.M1
+
+
+
+
+ org.eclipse.jetty
+ jetty-servlet
+ 9.2.0.M1
+
+
+
+
+ org.eclipse.jetty
+ jetty-servlets
+ 9.2.0.M1
+
+
+
+
+ org.eclipse.jetty
+ jetty-io
+ 9.2.0.M1
+
+
+
+
+ org.eclipse.jetty
+ jetty-http
+ 9.2.0.M1
+
+
+
+
+
+
+ org.eclipse.jetty
+ jetty-server
+ 9.2.0.M1
+
+
+
+
+ org.eclipse.jetty
+ jetty-util
+ 9.2.0.M1
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.21
+
+
+
+
+ log4j
+ log4j
+ 1.2.17
+
+
+
+ org.slf4j
+ slf4j-log4j12
+ 1.7.21
+
+
+
+
+
+ commons-logging
+ commons-logging
+ 1.2
+
+
+
+ org.apache.httpcomponents
+ httpcore
+ 4.4.5
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
+
+
+
+
+ com.github.fge
+ uri-template
+ 0.9
+
+
+
+
+ com.googlecode.libphonenumber
+ libphonenumber
+ 7.4.5
+
+
+
+ javax.mail
+ mail
+ 1.4.7
+
+
+
+ joda-time
+ joda-time
+ 2.9.4
+
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ 2.8.0
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.8.0
+
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ 2.8.0
+
+
+
+ com.github.fge
+ msg-simple
+ 1.1
+
+
+
+ com.github.fge
+ jackson-coreutils
+ 1.8
+
+
+
+
+
+ com.google.guava
+ guava
+ 18.0
+
+
+ com.github.fge
+ btf
+ 1.2
+
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.2
+
+
+
+ org.codehaus.groovy
+ groovy-all
+ 2.4.7
+
+
+
+ com.github.tomakehurst
+ wiremock
+ 2.1.7
+
io.rest-assured
rest-assured
- ${rest-assured.version}
+ 3.0.0
+ test
+
+
+ io.rest-assured
+ json-schema-validator
+ 3.0.0
+
+
+ com.github.fge
+ json-schema-validator
+ 2.2.6
+
+
+ com.github.fge
+ json-schema-core
+ 1.2.5
+
+
+ junit
+ junit
+ 4.3
test
-
- io.rest-assured
- json-schema-validator
- ${rest-assured.version}
-
-
-
- com.github.fge
- json-schema-validator
- ${json-schema-validator.version}
-
-
-
- com.github.fge
- json-schema-core
- ${json-schema-core.version}
-
-
-
-
-
- junit
- junit
- ${junit.version}
- test
-
-
-
- com.github.tomakehurst
- wiremock
- ${wiremock.version}
- test
-
-
org.hamcrest
hamcrest-all
- ${hamcrest-all.version}
- test
+ 1.3
-
-
- org.mockito
- mockito-core
- ${mockito.version}
- test
-
+
+
+ commons-collections
+ commons-collections
+ 3.2.2
+
-
-
- rest-assured
-
-
- src/main/resources
- true
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- ${maven-compiler-plugin.version}
-
- 1.8
- 1.8
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- ${maven-surefire-plugin.version}
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssured2Test.java b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssured2Test.java
new file mode 100644
index 0000000000..067756823b
--- /dev/null
+++ b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssured2Test.java
@@ -0,0 +1,55 @@
+package com.baeldung.restassured;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.configureFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static org.hamcrest.Matchers.hasItems;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static io.restassured.RestAssured.get;
+
+import com.github.tomakehurst.wiremock.WireMockServer;
+
+public class RestAssured2Test {
+ private WireMockServer wireMockServer = new WireMockServer();
+
+ private static final String EVENTS_PATH = "/odds";
+ private static final String APPLICATION_JSON = "application/json";
+ private static final String ODDS = getJson();
+
+ @Before
+ public void before() throws Exception {
+ System.out.println("Setting up!");
+ wireMockServer.start();
+ configureFor("localhost", 8080);
+ stubFor(get(urlEqualTo(EVENTS_PATH)).willReturn(
+ aResponse().withStatus(200)
+ .withHeader("Content-Type", APPLICATION_JSON)
+ .withBody(ODDS)));
+ }
+
+ @Test
+ public void givenUrl_whenVerifiesOddPricesAccuratelyByStatus_thenCorrect() {
+ get("/odds").then().body("odds.findAll { it.status > 0 }.price",
+ hasItems(5.25f, 1.2f));
+ }
+
+ private static String getJson() {
+
+ return Util.inputStreamToString(new RestAssured2Test().getClass()
+ .getResourceAsStream("/odds.json"));
+
+ }
+
+ @After
+ public void after() throws Exception {
+ System.out.println("Running: tearDown");
+ wireMockServer.stop();
+ }
+
+}
diff --git a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredTest.java b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredTest.java
index 6ac2d91ee0..a88ef2efc0 100644
--- a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredTest.java
+++ b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredTest.java
@@ -1,206 +1,106 @@
package com.baeldung.restassured;
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.configureFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static io.restassured.RestAssured.get;
+import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath;
+import static io.restassured.module.jsv.JsonSchemaValidatorSettings.settings;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.hasItems;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
import com.github.fge.jsonschema.SchemaVersion;
import com.github.fge.jsonschema.cfg.ValidationConfiguration;
import com.github.fge.jsonschema.main.JsonSchemaFactory;
import com.github.tomakehurst.wiremock.WireMockServer;
-import com.github.tomakehurst.wiremock.client.WireMock;
-import io.restassured.module.jsv.JsonSchemaValidator;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
-import static io.restassured.RestAssured.get;
-import static io.restassured.RestAssured.post;
-import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath;
-import static io.restassured.module.jsv.JsonSchemaValidatorSettings.settings;
-import static org.hamcrest.Matchers.*;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.xml.HasXPath.hasXPath;
-
public class RestAssuredTest {
- @Test
- public void givenJsonResponse_whenKeyValuePairMatches_thenCorrect() {
- JsonSchemaFactory factory = JsonSchemaFactory
- .newBuilder()
- .setValidationConfiguration(
- ValidationConfiguration.newBuilder()
- .setDefaultVersion(SchemaVersion.DRAFTV3)
- .freeze()).freeze();
- JsonSchemaValidator.settings = settings().with()
- .jsonSchemaFactory(factory).and().with()
- .checkedValidation(false);
- }
-
- @Test
- public void givenJsonArrayOfSimilarObjects_whenHasGivenValuesForGivenKey_thenCorrect() {
-
- }
-
private WireMockServer wireMockServer = new WireMockServer();
private static final String EVENTS_PATH = "/events?id=390";
private static final String APPLICATION_JSON = "application/json";
+ private static final String GAME_ODDS = getEventJson();
- private static final String GAME_ODDS = "" +
- "{" +
- " \"id\": 390," +
- " \"data\": {" +
- " \"countryId\": 35," +
- " \"countryName\": \"Norway\"," +
- " \"leagueName\": \"Norway 3\"," +
- " \"status\": 0," +
- " \"sportName\": \"Soccer\"," +
- " \"time\": \"2016-06-12T12:00:00Z\"" +
- " }," +
- " \"odds\": [" +
- " {" +
- " \"price\": \"1.30\"," +
- " \"status\": 0," +
- " \"ck\": \"1\"," +
- " \"name\": \"1\"" +
- " }," +
- " {" +
- " \"price\": \"5.25\"," +
- " \"status\": 0," +
- " \"ck\": \"X\"," +
- " \"name\": \"X\"" +
- " }" +
- " ]" +
- "}";
-
-
- @Test
- public void givenUrl_whenSuccessOnGetsResponse_andJsonHasRequiredKV_thenCorrect() {
-
+ @Before
+ public void before() throws Exception {
+ System.out.println("Setting up!");
wireMockServer.start();
configureFor("localhost", 8080);
-
- stubFor(WireMock.get(urlEqualTo(EVENTS_PATH)).willReturn(aResponse()
- .withStatus(200)
- .withHeader("Content-Type", APPLICATION_JSON)
- .withBody(GAME_ODDS)));
-
- get("/events?id=390").then().statusCode(200).assertThat()
- .body("id", equalTo(390));
-
- wireMockServer.stop();
+ stubFor(get(urlEqualTo(EVENTS_PATH)).willReturn(
+ aResponse().withStatus(200)
+ .withHeader("Content-Type", APPLICATION_JSON)
+ .withBody(GAME_ODDS)));
}
+ @Test
+ public void givenUrl_whenCheckingFloatValuePasses_thenCorrect() {
+ get("/events?id=390").then().assertThat()
+ .body("odd.ck", equalTo(12.2f));
+ }
+
+ @Test
+ public void givenUrl_whenSuccessOnGetsResponse_andJsonHasRequiredKV_thenCorrect() {
+
+ get("/events?id=390").then().statusCode(200).assertThat()
+ .body("id", equalTo("390"));
+
+ }
@Test
public void givenUrl_whenJsonResponseHasArrayWithGivenValuesUnderKey_thenCorrect() {
-
- wireMockServer.start();
- configureFor("localhost", 8080);
-
- stubFor(WireMock.get(urlEqualTo(EVENTS_PATH)).willReturn(aResponse()
- .withStatus(200)
- .withHeader("Content-Type", APPLICATION_JSON)
- .withBody(GAME_ODDS)));
-
get("/events?id=390").then().assertThat()
- .body("odds.price", hasItems("1.30", "5.25"));
-
- wireMockServer.stop();
+ .body("odds.price", hasItems(1.30f, 5.25f, 2.70f, 1.20f));
}
-
- @Test @Ignore
+ @Test
public void givenUrl_whenJsonResponseConformsToSchema_thenCorrect() {
+
get("/events?id=390").then().assertThat()
- .body(matchesJsonSchemaInClasspath("event_0.json"));
+ .body(matchesJsonSchemaInClasspath("event_0.json"));
}
- @Test @Ignore
+ @Test
public void givenUrl_whenValidatesResponseWithInstanceSettings_thenCorrect() {
JsonSchemaFactory jsonSchemaFactory = JsonSchemaFactory
.newBuilder()
.setValidationConfiguration(
ValidationConfiguration.newBuilder()
- .setDefaultVersion(SchemaVersion.DRAFTV4)
- .freeze()).freeze();
+ .setDefaultVersion(SchemaVersion.DRAFTV4)
+ .freeze()).freeze();
get("/events?id=390")
- .then()
- .assertThat()
- .body(matchesJsonSchemaInClasspath("event_0.json").using(
- jsonSchemaFactory));
+ .then()
+ .assertThat()
+ .body(matchesJsonSchemaInClasspath("event_0.json").using(
+ jsonSchemaFactory));
}
- @Test @Ignore
+ @Test
public void givenUrl_whenValidatesResponseWithStaticSettings_thenCorrect() {
get("/events?id=390")
- .then()
- .assertThat()
- .body(matchesJsonSchemaInClasspath("event_0.json").using(
- settings().with().checkedValidation(false)));
-
+ .then()
+ .assertThat()
+ .body(matchesJsonSchemaInClasspath("event_0.json").using(
+ settings().with().checkedValidation(false)));
}
- @Test @Ignore
- public void givenUrl_whenCheckingFloatValuePasses_thenCorrect() {
- get("/odd").then().assertThat().body("odd.ck", equalTo(12.2f));
+ @After
+ public void after() throws Exception {
+ System.out.println("Running: tearDown");
+ wireMockServer.stop();
}
- @Test @Ignore
- public void givenUrl_whenXmlResponseValueTestsEqual_thenCorrect() {
- post("/employees").then().assertThat()
- .body("employees.employee.first-name", equalTo("Jane"));
- }
-
- @Test @Ignore
- public void givenUrl_whenMultipleXmlValuesTestEqual_thenCorrect() {
- post("/employees").then().assertThat()
- .body("employees.employee.first-name", equalTo("Jane"))
- .body("employees.employee.last-name", equalTo("Daisy"))
- .body("employees.employee.sex", equalTo("f"));
- }
-
- @Test @Ignore
- public void givenUrl_whenMultipleXmlValuesTestEqualInShortHand_thenCorrect() {
- post("/employees")
- .then()
- .assertThat()
- .body("employees.employee.first-name", equalTo("Jane"),
- "employees.employee.last-name", equalTo("Daisy"),
- "employees.employee.sex", equalTo("f"));
- }
-
- @Test @Ignore
- public void givenUrl_whenValidatesXmlUsingXpath_thenCorrect() {
- post("/employees")
- .then()
- .assertThat()
- .body(hasXPath("/employees/employee/first-name",
- containsString("Ja")));
-
- }
-
- @Test @Ignore
- public void givenUrl_whenValidatesXmlUsingXpath2_thenCorrect() {
- post("/employees")
- .then()
- .assertThat()
- .body(hasXPath("/employees/employee/first-name[text()='Jane']"));
-
- }
-
- @Test @Ignore
- public void givenUrl_whenVerifiesScienceTeacherFromXml_thenCorrect() {
- get("/teachers")
- .then()
- .body("teachers.teacher.find { it.@department == 'science' }.subject",
- hasItems("math", "physics"));
- }
-
- @Test @Ignore
- public void givenUrl_whenVerifiesOddPricesAccuratelyByStatus_thenCorrect() {
- get("/odds").then().body("odds.findAll { it.status > 0 }.price",
- hasItems(1.30f, 1.20f));
+ private static String getEventJson() {
+ return Util.inputStreamToString(new RestAssuredTest().getClass()
+ .getResourceAsStream("/event_0.json"));
}
}
diff --git a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXML2Test.java b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXML2Test.java
new file mode 100644
index 0000000000..597280c7c0
--- /dev/null
+++ b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXML2Test.java
@@ -0,0 +1,54 @@
+package com.baeldung.restassured;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.configureFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static org.hamcrest.Matchers.hasItems;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static io.restassured.RestAssured.get;
+
+import com.github.tomakehurst.wiremock.WireMockServer;
+
+public class RestAssuredXML2Test {
+ private WireMockServer wireMockServer = new WireMockServer();
+
+ private static final String EVENTS_PATH = "/teachers";
+ private static final String APPLICATION_XML = "application/xml";
+ private static final String TEACHERS = getXml();
+
+ @Before
+ public void before() throws Exception {
+ System.out.println("Setting up!");
+ wireMockServer.start();
+ configureFor("localhost", 8080);
+ stubFor(get(urlEqualTo(EVENTS_PATH)).willReturn(
+ aResponse().withStatus(200)
+ .withHeader("Content-Type", APPLICATION_XML)
+ .withBody(TEACHERS)));
+ }
+ @Test
+ public void givenUrl_whenVerifiesScienceTeacherFromXml_thenCorrect() {
+ get("/teachers")
+ .then()
+ .body("teachers.teacher.find { it.@department == 'science' }.subject",
+ hasItems("math", "physics"));
+ }
+ private static String getXml() {
+
+ return Util
+ .inputStreamToString(new RestAssuredXML2Test().getClass().getResourceAsStream("/teachers.xml"));
+
+}
+ @After
+public void after() throws Exception {
+ System.out.println("Running: tearDown");
+ wireMockServer.stop();
+}
+
+}
diff --git a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXMLTest.java b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXMLTest.java
new file mode 100644
index 0000000000..315dc76169
--- /dev/null
+++ b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/RestAssuredXMLTest.java
@@ -0,0 +1,99 @@
+package com.baeldung.restassured;
+
+import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
+import static com.github.tomakehurst.wiremock.client.WireMock.configureFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.get;
+import static com.github.tomakehurst.wiremock.client.WireMock.post;
+import static com.github.tomakehurst.wiremock.client.WireMock.stubFor;
+import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
+import static io.restassured.RestAssured.post;
+import static io.restassured.RestAssured.get;
+import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath;
+import static io.restassured.module.jsv.JsonSchemaValidatorSettings.settings;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.hasItems;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.xml.HasXPath.hasXPath;
+
+import java.io.FileNotFoundException;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.github.fge.jsonschema.SchemaVersion;
+import com.github.fge.jsonschema.cfg.ValidationConfiguration;
+import com.github.fge.jsonschema.main.JsonSchemaFactory;
+import com.github.tomakehurst.wiremock.WireMockServer;
+public class RestAssuredXMLTest {
+ private WireMockServer wireMockServer = new WireMockServer();
+ private static final String EVENTS_PATH = "/employees";
+ private static final String APPLICATION_XML = "application/xml";
+ private static final String EMPLOYEES = getXml();
+
+ @Before
+ public void before() throws Exception {
+ System.out.println("Setting up!");
+ wireMockServer.start();
+ configureFor("localhost", 8080);
+ stubFor(post(urlEqualTo(EVENTS_PATH)).willReturn(
+ aResponse().withStatus(200)
+ .withHeader("Content-Type", APPLICATION_XML)
+ .withBody(EMPLOYEES)));
+ }
+ @Test
+ public void givenUrl_whenXmlResponseValueTestsEqual_thenCorrect() {
+ post("/employees").then().assertThat()
+ .body("employees.employee.first-name", equalTo("Jane"));
+ }
+
+ @Test
+ public void givenUrl_whenMultipleXmlValuesTestEqual_thenCorrect() {
+ post("/employees").then().assertThat()
+ .body("employees.employee.first-name", equalTo("Jane"))
+ .body("employees.employee.last-name", equalTo("Daisy"))
+ .body("employees.employee.sex", equalTo("f"));
+ }
+
+ @Test
+ public void givenUrl_whenMultipleXmlValuesTestEqualInShortHand_thenCorrect() {
+ post("/employees")
+ .then()
+ .assertThat()
+ .body("employees.employee.first-name", equalTo("Jane"),
+ "employees.employee.last-name", equalTo("Daisy"),
+ "employees.employee.sex", equalTo("f"));
+ }
+
+ @Test
+ public void givenUrl_whenValidatesXmlUsingXpath_thenCorrect() {
+ post("/employees")
+ .then()
+ .assertThat()
+ .body(hasXPath("/employees/employee/first-name",
+ containsString("Ja")));
+
+ }
+
+ @Test
+ public void givenUrl_whenValidatesXmlUsingXpath2_thenCorrect() {
+ post("/employees")
+ .then()
+ .assertThat()
+ .body(hasXPath("/employees/employee/first-name[text()='Jane']"));
+
+ }
+
+
+ private static String getXml() {
+
+ return Util
+ .inputStreamToString(new RestAssuredXMLTest().getClass().getResourceAsStream("/employees.xml"));
+
+}
+ @After
+public void after() throws Exception {
+ System.out.println("Running: tearDown");
+ wireMockServer.stop();
+}
+}
diff --git a/rest-assured-tutorial/src/test/java/com/baeldung/restassured/Util.java b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/Util.java
new file mode 100644
index 0000000000..c75c52eb34
--- /dev/null
+++ b/rest-assured-tutorial/src/test/java/com/baeldung/restassured/Util.java
@@ -0,0 +1,36 @@
+package com.baeldung.restassured;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+public class Util {
+ public static String inputStreamToString(InputStream is) {
+ BufferedReader br = null;
+ StringBuilder sb = new StringBuilder();
+
+ String line;
+ try {
+
+ br = new BufferedReader(new InputStreamReader(is));
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ }
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ } finally {
+ if (br != null) {
+ try {
+ br.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ return sb.toString();
+
+ }
+}
diff --git a/rest-assured-tutorial/src/test/resources/.gitignore b/rest-assured-tutorial/src/test/resources/.gitignore
deleted file mode 100644
index 83c05e60c8..0000000000
--- a/rest-assured-tutorial/src/test/resources/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-*.class
-
-#folders#
-/target
-/neoDb*
-/data
-/src/main/webapp/WEB-INF/classes
-*/META-INF/*
-
-# Packaged files #
-*.jar
-*.war
-*.ear
\ No newline at end of file
diff --git a/rest-assured-tutorial/src/test/resources/employees.xml b/rest-assured-tutorial/src/test/resources/employees.xml
index 64e382976d..388b422210 100644
--- a/rest-assured-tutorial/src/test/resources/employees.xml
+++ b/rest-assured-tutorial/src/test/resources/employees.xml
@@ -4,19 +4,4 @@
Daisy
f
-
- John
- Doe
- m
-
-
- Billy
- Getty
- m
-
-
- Hill
- Clinton
- f
-
\ No newline at end of file
diff --git a/rest-assured-tutorial/src/test/resources/event0.json b/rest-assured-tutorial/src/test/resources/event_0.json
similarity index 71%
rename from rest-assured-tutorial/src/test/resources/event0.json
rename to rest-assured-tutorial/src/test/resources/event_0.json
index 77e26c347e..a6e45239ec 100644
--- a/rest-assured-tutorial/src/test/resources/event0.json
+++ b/rest-assured-tutorial/src/test/resources/event_0.json
@@ -1,5 +1,11 @@
{
"id": "390",
+ "odd": {
+ "price": "1.20",
+ "status": 2,
+ "ck": 12.2,
+ "name": "2"
+ },
"data": {
"countryId": 35,
"countryName": "Norway",
@@ -9,25 +15,25 @@
"time": "2016-06-12T12:00:00Z"
},
"odds": [{
- "price": 1.30,
+ "price": "1.30",
"status": 0,
"ck": 12.2,
"name": "1"
},
{
- "price": 5.25,
+ "price":"5.25",
"status": 1,
"ck": 13.1,
"name": "X"
},
{
- "price": 2.70,
+ "price": "2.70",
"status": 0,
"ck": 12.2,
"name": "0"
},
{
- "price": 1.20,
+ "price": "1.20",
"status": 2,
"ck": 13.1,
"name": "2"
diff --git a/rest-assured-tutorial/src/test/resources/log4j.properties b/rest-assured-tutorial/src/test/resources/log4j.properties
new file mode 100644
index 0000000000..e4b76524e8
--- /dev/null
+++ b/rest-assured-tutorial/src/test/resources/log4j.properties
@@ -0,0 +1,17 @@
+## Logger configure file for myproject
+log.dir=C:/ProgramData/radixbase/
+datestamp=yyyy-MM-dd HH:mm:ss
+log4j.rootLogger=TRACE, file, console
+
+log4j.appender.file=org.apache.log4j.RollingFileAppender
+log4j.appender.file.maxFileSize=1GB
+log4j.appender.file.maxBackupIndex=5
+log4j.appender.file.File=log/mydebug.log
+log4j.appender.file.threshold=TRACE
+log4j.appender.file.layout=org.apache.log4j.PatternLayout
+log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: [%c] - %m%n
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.Threshold=INFO
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p\: [%c] - %m%n
\ No newline at end of file