diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 92f7526..0000000 --- a/.gitignore +++ /dev/null @@ -1,41 +0,0 @@ -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### IntelliJ IDEA ### -.idea -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store -/allure-results/ -.allure diff --git a/README.md b/README.md index e69de29..e67af61 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,2 @@ +# QA + diff --git a/pom.xml b/pom.xml deleted file mode 100644 index d35136a..0000000 --- a/pom.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - 4.0.0 - - org.example - Test - 1.0-SNAPSHOT - - - 17 - 17 - UTF-8 - 1.9.23 - 1.18.36 - 5.5.1 - 7.10.2 - 2.29.1 - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.13.0 - - ${maven.compiler.source} - ${maven.compiler.target} - - - org.projectlombok - lombok - ${lombok.version} - - - - - - - io.qameta.allure - allure-maven - 2.15.2 - - - - org.apache.maven.plugins - maven-surefire-plugin - 2.22.2 - - - -javaagent:"${settings.localRepository}"/org/aspectj/aspectjweaver/1.9.23/aspectjweaver-1.9.23.jar - - - - src/test/resources/suites/tests.xml - - - - - - - - - - - io.qameta.allure - allure-bom - ${allure.version} - pom - import - - - - - - - - org.testng - testng - ${testng.version} - test - - - - - org.projectlombok - lombok - ${lombok.version} - provided - - - - - io.rest-assured - rest-assured - ${rest.assured.version} - test - - - - - io.qameta.allure - allure-testng - test - - - - io.qameta.allure - allure-rest-assured - test - - - - - com.fasterxml.jackson.core - jackson-databind - 2.18.3 - - - - - org.aspectj - aspectjweaver - ${aspectj.version} - runtime - - - - - com.codeborne - selenide - 7.6.1 - - - - - org.projectlombok - lombok-mapstruct-binding - 0.2.0 - - - - diff --git a/src/test/java/endpoints/UserEndpoint.java b/src/test/java/endpoints/UserEndpoint.java deleted file mode 100644 index c5eb784..0000000 --- a/src/test/java/endpoints/UserEndpoint.java +++ /dev/null @@ -1,73 +0,0 @@ -package endpoints; - -import helpers.PropertyProvider; -import io.qameta.allure.Step; -import io.restassured.response.Response; -import io.restassured.specification.RequestSpecification; -import pojo.UserRequest; - -import static io.restassured.RestAssured.given; - -public class UserEndpoint { - private static final String ENDPOINT = PropertyProvider.getProperty("endpoint.user"); - - @Step("Создание запроса о информации пользователя") - public static UserRequest addUser() { - return UserRequest.builder() - .id(PropertyProvider.getProperty("test.id")) - .username(PropertyProvider.getProperty("test.username")) - .firstName(PropertyProvider.getProperty("test.firstname")) - .lastName(PropertyProvider.getProperty("test.lastname")) - .email(PropertyProvider.getProperty("test.email")) - .build(); - } - - @Step("Добавить информацию о пользователе и вернуть его ID") - public static Response addUserId(RequestSpecification spec, UserRequest userRequest) { - return given(spec) - .body(userRequest) - .when() - .post(ENDPOINT) - .then() - .statusCode(200) - .extract().response(); - } - - @Step("Получить информацию о текущем пользователе") - public static Response getUser(RequestSpecification spec) { - return given(spec) - .when() - .get(ENDPOINT); - } - - @Step("Получить информацию о пользователе по ID: {userId}") - public static Response getUserById(RequestSpecification spec, String userId) { - return given(spec) - .pathParam("id", userId) - .when() - .get(ENDPOINT + "/{id}"); - } - - @Step("Обновить информацию о пользователе: {user}") - public static Response updateUser(RequestSpecification spec, UserRequest userRequest) { - return given(spec) - .body(userRequest) - .when() - .put(ENDPOINT); - } - - @Step("Удалить текущего пользователя") - public static Response deleteUser(RequestSpecification spec) { - return given(spec) - .when() - .delete(ENDPOINT); - } - - @Step("Удалить пользователя по ID: {userId}") - public static Response deleteUserById(RequestSpecification spec, String userId) { - return given(spec) - .pathParam("id", userId) - .when() - .delete(ENDPOINT + "/{id}"); - } -} diff --git a/src/test/java/helpers/PropertyProvider.java b/src/test/java/helpers/PropertyProvider.java deleted file mode 100644 index 6647b88..0000000 --- a/src/test/java/helpers/PropertyProvider.java +++ /dev/null @@ -1,26 +0,0 @@ -package helpers; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -public class PropertyProvider { - private static final Properties properties = new Properties(); - private static final String CONFIG_FILE = "config.properties"; - - static { - try (InputStream input = PropertyProvider.class.getClassLoader().getResourceAsStream(CONFIG_FILE)) { - if (input == null) { - throw new RuntimeException("Не найден файл конфигурации" + CONFIG_FILE); - } - properties.load(input); - } catch (IOException e) { - throw new RuntimeException("Ошибка загрузки конфигурационного файла", e); - } - } - - public static String getProperty(String key) { - return properties.getProperty(key); - } -} - diff --git a/src/test/java/helpers/Specifications.java b/src/test/java/helpers/Specifications.java deleted file mode 100644 index e8525d2..0000000 --- a/src/test/java/helpers/Specifications.java +++ /dev/null @@ -1,23 +0,0 @@ -package helpers; - -import io.qameta.allure.restassured.AllureRestAssured; -import io.restassured.RestAssured; -import io.restassured.builder.RequestSpecBuilder; -import io.restassured.http.ContentType; -import io.restassured.specification.RequestSpecification; - -public class Specifications { - protected static final String BASE_URL = PropertyProvider.getProperty("base.url"); - - public static RequestSpecification initRequestSpecification(String authToken) { - RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); - RequestSpecBuilder requestSpecBuilder = new RequestSpecBuilder(); - requestSpecBuilder - .setBaseUri(BASE_URL) - .setContentType(ContentType.JSON) - .setAccept(ContentType.JSON) - .addHeader("Authorization", "Bearer " + authToken) - .addFilter(new AllureRestAssured()); - return requestSpecBuilder.build(); - } -} \ No newline at end of file diff --git a/src/test/java/pojo/UserRequest.java b/src/test/java/pojo/UserRequest.java deleted file mode 100644 index d33650c..0000000 --- a/src/test/java/pojo/UserRequest.java +++ /dev/null @@ -1,19 +0,0 @@ -package pojo; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder - -public class UserRequest { - private String id; - private String username; - private String firstName; - private String lastName; - private String email; -} diff --git a/src/test/java/tests/BaseTest.java b/src/test/java/tests/BaseTest.java deleted file mode 100644 index b12ebd8..0000000 --- a/src/test/java/tests/BaseTest.java +++ /dev/null @@ -1,33 +0,0 @@ -package tests; - -import endpoints.UserEndpoint; -import helpers.PropertyProvider; -import helpers.Specifications; -import io.restassured.specification.RequestSpecification; -import org.testng.annotations.*; -import pojo.UserRequest; - -import java.io.IOException; - -public class BaseTest { - protected static RequestSpecification spec; - protected static String authToken; - protected static UserRequest testUserRequest; - protected String addUserId; - - @BeforeClass - public void setupTestData() { - authToken = PropertyProvider.getProperty("auth.token"); - } - - @BeforeMethod - public void setup() throws IOException { - spec = Specifications.initRequestSpecification(authToken); - } - - @AfterMethod - public void tearDown() { - UserEndpoint.deleteUserById(spec, addUserId); - } -} - diff --git a/src/test/java/tests/GetAndDeleteUserTest.java b/src/test/java/tests/GetAndDeleteUserTest.java deleted file mode 100644 index 9c681f2..0000000 --- a/src/test/java/tests/GetAndDeleteUserTest.java +++ /dev/null @@ -1,59 +0,0 @@ -package tests; - -import endpoints.UserEndpoint; -import helpers.PropertyProvider; -import io.qameta.allure.Epic; -import io.qameta.allure.Feature; -import org.testng.annotations.Test; -import org.testng.asserts.SoftAssert; - -import static org.hamcrest.Matchers.equalTo; - -@Epic("Управление сценариями GET") -public class GetAndDeleteUserTest extends BaseTest { - - @Feature("Сценарий с GET") - @Test(description = "Проверить, информацию о текущем пользователе и удалить текущего пользователя.") - public void testGetCurrentAndDeleteUser() { - - var request = UserEndpoint.addUser(); - addUserId = request.getId(); - - UserEndpoint.addUserId(spec, request); - - var response = UserEndpoint.getUser(spec); - response - .then() - .statusCode(200) - .body("username", equalTo(PropertyProvider.getProperty("test.username")), - "firstName", equalTo(PropertyProvider.getProperty("test.firstname")), - "lastName", equalTo(PropertyProvider.getProperty("test.lastname")), - "email", equalTo(PropertyProvider.getProperty("test.email"))); - - UserEndpoint.deleteUser(spec) - .then() - .statusCode(200); - } - - @Test(description = "Проверить, информацию пользователя по его ID {userId} и удалить по ID") - public void testGetUserById() { - var softAssert = new SoftAssert(); - - var request = UserEndpoint.addUser(); - addUserId = request.getId(); - - UserEndpoint.addUserId(spec, request); - - var userId = PropertyProvider.getProperty("test.id"); - var response = UserEndpoint.getUserById(spec, userId); - - softAssert.assertNotNull(userId, "ID пользователя не должен быть нулевым"); - softAssert.assertFalse(userId.trim().isEmpty(), "ID пользователя не должен быть пустым"); - - response - .then() - .statusCode(200) - .body("id", equalTo(userId), - "username", equalTo(PropertyProvider.getProperty("test.username"))); - } -} diff --git a/src/test/java/tests/PostUserTest.java b/src/test/java/tests/PostUserTest.java deleted file mode 100644 index 701e8c1..0000000 --- a/src/test/java/tests/PostUserTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package tests; - -import endpoints.UserEndpoint; -import io.qameta.allure.Epic; -import io.qameta.allure.Feature; -import org.testng.annotations.Test; - -@Epic("POST") -public class PostUserTest extends BaseTest { - - @Feature("Сценарий с POST") - @Test(description = "Проверить создание нового пользователя и его удаление") - public void testAddUserSuccessfully() { - var request = UserEndpoint - .addUser(); - - var response = UserEndpoint.addUserId(spec, request); - - addUserId = response.asString(); - } -} - diff --git a/src/test/java/tests/PutUserTest.java b/src/test/java/tests/PutUserTest.java deleted file mode 100644 index 919ef34..0000000 --- a/src/test/java/tests/PutUserTest.java +++ /dev/null @@ -1,41 +0,0 @@ -package tests; - -import endpoints.UserEndpoint; -import io.qameta.allure.Epic; -import io.qameta.allure.Feature; -import org.testng.annotations.Test; -import pojo.UserRequest; - -@Epic("PUT") -public class PutUserTest extends BaseTest{ - - @Feature("Сценарий с PUT (создание - обновление - удаление)") - @Test(description = "Проверить, обновление информации о текущем пользователе и удалить его") - public void testUpdateUser() { - - var request = UserEndpoint. - addUser(); - addUserId = request.getId(); - - UserEndpoint - .addUserId(spec, request); - - var updateUser = UserRequest.builder() - .username("itc1205" + request.getUsername()) - .firstName("Kamil" + request.getFirstName()) - .lastName("Vonuchka" + request.getLastName()) - .email("kamilka@mail.ru" + request.getEmail()) - .build(); - - UserEndpoint.updateUser(spec, updateUser) - .then() - .statusCode(200); - - UserEndpoint.getUser(spec) - .then() - .statusCode(200); - //эти проверки нужны будут потом -// .body("firstName", equalTo(updateUser.getFirstName()), -// "email", equalTo(updateUser.getEmail()); - } -} diff --git a/src/test/resources/config.properties b/src/test/resources/config.properties deleted file mode 100644 index 3842187..0000000 --- a/src/test/resources/config.properties +++ /dev/null @@ -1,9 +0,0 @@ -base.url=https://6c61743f-4c3c-4db0-bd41-75698e213f2c.mock.pstmn.io -auth.token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30 -test.id=35790af5-b2fc-2bbd-5d7c-3f83e7f0645f -test.username=ivan1205 -test.firstname=Ivan -test.lastname=Aksenov -test.email=itc@ya.ru - -endpoint.user = /api/user \ No newline at end of file diff --git a/src/test/resources/suites/tests.xml b/src/test/resources/suites/tests.xml deleted file mode 100644 index 107bac3..0000000 --- a/src/test/resources/suites/tests.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - -