diff --git a/build.gradle b/build.gradle index 6b543ea..1bcbdbe 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ group 'ru.netology' version '1.0-SNAPSHOT' sourceCompatibility = 11 -compileJava.options.encoding = "UTF-8" -compileTestJava.options.encoding = "UTF-8" +compileJava.options.encoding = 'UTF-8' +compileTestJava.options.encoding = 'UTF-8' repositories { mavenCentral() @@ -15,8 +15,8 @@ repositories { dependencies { testImplementation 'io.rest-assured:rest-assured:5.3.1' + testImplementation 'org.junit.jupiter:junit-jupiter:5.6.1' testImplementation 'io.rest-assured:json-schema-validator:4.3.1' - testImplementation 'org.junit.jupiter:junit-jupiter:5.7.0' } test { diff --git a/src/test/java/ru/netology/rest/MobileBankApiTestV1.java b/src/test/java/ru/netology/rest/MobileBankApiTestV1.java index d81d3a4..5bd28c6 100644 --- a/src/test/java/ru/netology/rest/MobileBankApiTestV1.java +++ b/src/test/java/ru/netology/rest/MobileBankApiTestV1.java @@ -3,8 +3,6 @@ import org.junit.jupiter.api.Test; import static io.restassured.RestAssured.given; -import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath; - class MobileBankApiTestV1 { @Test @@ -16,9 +14,8 @@ void shouldReturnDemoAccounts() { // Выполняемые действия .when() .get("/demo/accounts") - // код теста + // Проверки .then() - .statusCode(200) - .body(matchesJsonSchemaInClasspath("accounts.schema.json")); + .statusCode(200); } -} +} \ No newline at end of file diff --git a/src/test/java/ru/netology/rest/MobileBankApiTestV4.java b/src/test/java/ru/netology/rest/MobileBankApiTestV4.java index cfd6e64..adfb229 100644 --- a/src/test/java/ru/netology/rest/MobileBankApiTestV4.java +++ b/src/test/java/ru/netology/rest/MobileBankApiTestV4.java @@ -5,6 +5,7 @@ import static io.restassured.RestAssured.given; import static io.restassured.module.jsv.JsonSchemaValidator.matchesJsonSchemaInClasspath; + class MobileBankApiTestV4 { @Test void shouldReturnDemoAccounts() { diff --git a/src/test/java/ru/netology/rest/MobileBankApiTestV6.java b/src/test/java/ru/netology/rest/MobileBankApiTestV6.java index ab6181e..0a71d0b 100644 --- a/src/test/java/ru/netology/rest/MobileBankApiTestV6.java +++ b/src/test/java/ru/netology/rest/MobileBankApiTestV6.java @@ -10,25 +10,25 @@ class MobileBankApiTestV6 { private RequestSpecification requestSpec = new RequestSpecBuilder() - .setBaseUri("http://localhost") - .setBasePath("/api/v1") - .setPort(9999) - .setAccept(ContentType.JSON) - .setContentType(ContentType.JSON) - .log(LogDetail.ALL) - .build(); + .setBaseUri("http://localhost") + .setBasePath("/api/v1") + .setPort(9999) + .setAccept(ContentType.JSON) + .setContentType(ContentType.JSON) + .log(LogDetail.ALL) + .build(); @Test void shouldReturnDemoAccounts() { - // Given - When - Then - // Предусловия - given() - .spec(requestSpec) // со спецификацией проще (особенно когда много тестов) - // Выполняемые действия - .when() - .get("/demo/accounts") - // Проверки - .then() - .statusCode(200); + // Given - When - Then + // Предусловия + given() + .spec(requestSpec) // со спецификацией проще (особенно когда много тестов) + // Выполняемые действия + .when() + .get("/demo/accounts") + // Проверки + .then() + .statusCode(200); } -} +} \ No newline at end of file diff --git a/src/test/resources/accounts.schema.json b/src/test/resources/accounts.schema.json index 28e4880..f30759e 100644 --- a/src/test/resources/accounts.schema.json +++ b/src/test/resources/accounts.schema.json @@ -1,14 +1,9 @@ { "$schema": "http://json-schema.org/draft-07/schema", - // версия схемы: https://json-schema.org/understanding-json-schema/reference/schema.html "type": "array", - // тип корневого элемента: https://json-schema.org/understanding-json-schema/reference/type.html "items": { - // какие элементы допустимы внутри массива: https://json-schema.org/understanding-json-schema/reference/array.html#items "type": "object", - // должны быть объектами: https://json-schema.org/understanding-json-schema/reference/object.html "required": [ - // должны содержать следующие поля: https://json-schema.org/understanding-json-schema/reference/object.html#required-properties "id", "name", "number", @@ -16,37 +11,24 @@ "currency" ], "additionalProperties": false, - // дополнительных полей быть не должно "properties": { - // описание полей: https://json-schema.org/understanding-json-schema/reference/object.html#properties "id": { "type": "integer" - // целое число: https://json-schema.org/understanding-json-schema/reference/numeric.html#integer }, "name": { "type": "string", - // строка: https://json-schema.org/understanding-json-schema/reference/string.html "minLength": 1 - // минимальная длина — 1: https://json-schema.org/understanding-json-schema/reference/string.html#length }, "number": { "type": "string", - // строка: https://json-schema.org/understanding-json-schema/reference/string.html "pattern": "^•• \\d{4}$" - // соответствует регулярному выражению: https://json-schema.org/understanding-json-schema/reference/string.html#regular-expressions }, "balance": { "type": "integer" - // целое число: https://json-schema.org/understanding-json-schema/reference/numeric.html#integer - "default": 0 }, "currency": { "type": "string", - "enum": [ - "RUB", - "USD" - ] - // строка: https://json-schema.org/understanding-json-schema/reference/string.html + "enum": ["RUB", "USD"] } } }