package em; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; import java.util.Map; import java.util.List; import static org.evomaster.client.java.controller.api.EMTestUtils.*; import org.evomaster.client.java.controller.SutHandler; import io.restassured.RestAssured; import static io.restassured.RestAssured.given; import io.restassured.response.ValidatableResponse; import static org.hamcrest.Matchers.*; import io.restassured.config.JsonConfig; import io.restassured.path.json.config.JsonPathConfig; import static io.restassured.config.RedirectConfig.redirectConfig; import static org.evomaster.client.java.controller.contentMatchers.NumberMatcher.*; import static org.evomaster.client.java.controller.contentMatchers.StringMatcher.*; import static org.evomaster.client.java.controller.contentMatchers.SubStringMatcher.*; import static org.evomaster.client.java.controller.expect.ExpectationHandler.expectationHandler; import org.evomaster.client.java.controller.expect.ExpectationHandler; import io.restassured.path.json.JsonPath; import java.util.Arrays; /** * This file was automatically generated by EvoMaster on 2023-05-28T14:22:53.312136+02:00[Europe/Rome] *
* The generated test suite contains 4 tests *
* Covered targets: 9 *
* Used time: 0h 5m 0s *
* Needed budget for current results: 100% *
* This file contains test cases that represent successful calls. */ public class EvoMaster_successes_Test { private static String baseUrlOfSut = "http://localhost:8080"; /** [ems] - expectations master switch - is the variable that activates/deactivates expectations individual test cases * by default, expectations are turned off. The variable needs to be set to [true] to enable expectations */ private static boolean ems = false; /** * sco - supported code oracle - checking that the response status code is among those supported according to the schema */ private static boolean sco = false; @BeforeClass public static void initClass() { RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); RestAssured.useRelaxedHTTPSValidation(); RestAssured.urlEncodingEnabled = false; RestAssured.config = RestAssured.config() .jsonConfig(JsonConfig.jsonConfig().numberReturnType(JsonPathConfig.NumberReturnType.DOUBLE)) .redirect(redirectConfig().followRedirects(false)); } @Test(timeout = 60000) public void test_0() throws Exception { given().accept("application/json") .get(baseUrlOfSut + "/api/comments?type=Review") .then() .statusCode(200) .assertThat() .contentType("application/json") .body("size()", equalTo(14)) .body("[0].'userName'", containsString("qvJGGVwpV1l9f")) .body("[0].'text'", containsString("_W25b55Y")) .body("[0].'date'", containsString("2023-05-28T14:17:53.936339")) .body("[0].'type'", containsString("Review")) .body("[1].'userName'", containsString("axiFfR_z")) .body("[1].'text'", containsString("98JIw7gD83jBdpgD")) .body("[1].'date'", containsString("M")) .body("[1].'type'", containsString("Review")) .body("[2].'userName'", containsString("johnSmith")) .body("[2].'text'", containsString("Great book!")) .body("[2].'date'", containsString("2017-02-16T20:44:53.950")) .body("[2].'type'", containsString("Review")) ; // Skipping assertions on the remaining 11 elements. This limit of 3 elements can be increased in the configurations } @Test(timeout = 60000) public void test_1() throws Exception { given().accept("application/json") .get(baseUrlOfSut + "/api/comments/c4") .then() .statusCode(200) .assertThat() .contentType("application/json") .body("'userName'", containsString("oliviaClark")) .body("'text'", containsString("Please, give me a call before the delivery")) .body("'date'", containsString("2015-06-22T20:12:45.950")) .body("'type'", containsString("Request")); } @Test(timeout = 60000) public void test_2() throws Exception { ExpectationHandler expectationHandler = expectationHandler(); ValidatableResponse res_0 = given().accept("*/*") .get(baseUrlOfSut + "/docs/swagger.yaml") .then() .statusCode(200) .assertThat() .contentType("application/octet-stream"); expectationHandler.expect(ems) /* Note: No supported codes appear to be defined. https://swagger.io/docs/specification/describing-responses/. This is somewhat unexpected, so the code below is likely to lead to a failed expectation */ .that(sco, Arrays.asList().contains(res_0.extract().statusCode())); } @Test(timeout = 60000) public void test_3() throws Exception { given().accept("application/json") .contentType("application/json") .body(" { " + " \"id\": \"RGUxO9tPdi\", " + " \"userName\": \"axiFfR_z\", " + " \"text\": \"98JIw7gD83jBdpgD\", " + " \"date\": \"M\", " + " \"type\": \"Review\" " + " } ") .post(baseUrlOfSut + "/api/comments") .then() .statusCode(201) .assertThat() .contentType("application/json") .body("'userName'", containsString("axiFfR_z")) .body("'text'", containsString("98JIw7gD83jBdpgD")) .body("'date'", containsString("M")) .body("'type'", containsString("Review")); } }