diff --git a/src/test/java/school/redrover/api/APIJenkinsTest.java b/src/test/java/school/redrover/api/APIJenkinsTest.java index 198006564..611d61d17 100644 --- a/src/test/java/school/redrover/api/APIJenkinsTest.java +++ b/src/test/java/school/redrover/api/APIJenkinsTest.java @@ -12,21 +12,6 @@ public class APIJenkinsTest extends APIBaseTest { - @Test - public void jenkinsTest() { - RestAssured.given() - .log().all()// ← добавил что бы смотреть, что отправляю и что получаю(в конце лог) - .when() - .auth() - .preemptive() - .basic(userName, apiToken) - .when() - .get(jenkinsUrl + "api/json") - .then() - .log().all() - .statusCode(200); - } - @Test public void testCreatePiplineAndDisable() { Map projectName = new HashMap<>(); @@ -81,4 +66,57 @@ public void testCreatePiplineAndDisable() { Assert.assertEquals(getResponse.getStatusCode(), 200); Assert.assertTrue(responseBody.contains("This project is currently disabled")); } + + @Test + public void testCreateAndDeleteFolder() { + String folderName = "ApiTestFolder"; + + String folderConfigXml = """ + + Created via CloudBees Folder Plugin API + + """; + + RestAssured.given() + .auth().preemptive().basic(userName, apiToken) + .baseUri(jenkinsUrl) + .contentType(ContentType.XML) + .queryParam("name", folderName) + .body(folderConfigXml) + .when() + .post("/createItem") + .then() + .statusCode(200); + + Response getResponse = RestAssured.given() + .auth().preemptive().basic(userName, apiToken) + .baseUri(jenkinsUrl) + .when() + .get("job/%s/api/json".formatted(folderName)) + .then() + .extract().response(); + + Assert.assertEquals(getResponse.statusCode(), 200); + Assert.assertEquals(getResponse.jsonPath().getString("name"), folderName); + + RestAssured.given() + .auth().preemptive().basic(userName, apiToken) + .baseUri(jenkinsUrl) + .when() + .post("job/%s/doDelete".formatted(folderName)) + .then() + .statusCode(302); + + Response deletedResponse = RestAssured.given() + .auth().preemptive().basic(userName, apiToken) + .baseUri(jenkinsUrl) + .when() + .get("job/%s/api/json".formatted(folderName)) + .then() + .extract().response(); + + Assert.assertEquals(deletedResponse.statusCode(), 404, + "Expected 404 after deletion, but got " + deletedResponse.statusCode()); + } + }