From 5942004f2e16e766f42cadcd10727d0876a043a2 Mon Sep 17 00:00:00 2001 From: Johanah LEKEU Date: Mon, 21 Oct 2024 09:16:31 +0200 Subject: [PATCH] test --- .../java/io/openbas/rest/InjectApiTest.java | 17 +++-- .../utils/fixtures/ExerciseFixture.java | 74 ++++++++++--------- 2 files changed, 53 insertions(+), 38 deletions(-) diff --git a/openbas-api/src/test/java/io/openbas/rest/InjectApiTest.java b/openbas-api/src/test/java/io/openbas/rest/InjectApiTest.java index 702b268e8e..95527600c7 100644 --- a/openbas-api/src/test/java/io/openbas/rest/InjectApiTest.java +++ b/openbas-api/src/test/java/io/openbas/rest/InjectApiTest.java @@ -22,6 +22,7 @@ import jakarta.annotation.Resource; import jakarta.annotation.Resources; import org.junit.jupiter.api.*; +import org.mockito.ArgumentCaptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.http.MediaType; @@ -306,7 +307,7 @@ void executeEmailInjectForExerciseTest() throws Exception { inject.setExercise(EXERCISE); ObjectNode content = objectMapper.createObjectNode(); content.set("subject", objectMapper.convertValue("Subject", JsonNode.class)); - content.set("body", objectMapper.convertValue("Test body g", JsonNode.class)); + content.set("body", objectMapper.convertValue("Test body", JsonNode.class)); content.set("expectationType", objectMapper.convertValue("none", JsonNode.class)); inject.setContent(content); Inject savedInject = this.injectRepository.save(inject); @@ -335,15 +336,21 @@ void executeEmailInjectForExerciseTest() throws Exception { in.readAllBytes()); // -- EXECUTE -- - mvc.perform(multipart(EXERCISE_URI + "/" + EXERCISE.getId() + "/inject") + String response = mvc.perform(multipart(EXERCISE_URI + "/" + EXERCISE.getId() + "/inject") .file(inputJson) .file(fileJson)) .andExpect(status().is2xxSuccessful()) - /*.andReturn() + .andReturn() .getResponse() - .getContentAsString()*/; + .getContentAsString(); // -- ASSERT -- - verify(executor).execute(injection); + assertNotNull(response); + assertEquals("ERROR", JsonPath.read(response, "$.status_name")); + ArgumentCaptor executableInjectCaptor = ArgumentCaptor.forClass(ExecutableInject.class); + verify(executor).execute(executableInjectCaptor.capture()); + + ExecutableInject capturedInjection = executableInjectCaptor.getValue(); + assertEquals(injection.getExercise(), capturedInjection.getExercise()); //-- THEN --- injectRepository.delete(savedInject); diff --git a/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java b/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java index 309d0ddfc8..651d4bb2e7 100644 --- a/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java +++ b/openbas-api/src/test/java/io/openbas/utils/fixtures/ExerciseFixture.java @@ -9,41 +9,49 @@ public class ExerciseFixture { - public static final String EXERCISE_NAME = "Exercise test"; + public static final String EXERCISE_NAME = "Exercise test"; - public static Exercise getExercise() { - return getExercise(null); - } - - public static Exercise getExercise(List exerciseTeams) { - Exercise exercise = new Exercise(); - exercise.setName(EXERCISE_NAME); - if(exerciseTeams != null){ - exercise.setTeams(exerciseTeams); - } - return exercise; - } - - public static Exercise createDefaultCrisisExercise() { - Exercise exercise = new Exercise(); - exercise.setName("Crisis exercise"); - exercise.setDescription("A crisis exercise for my enterprise"); - exercise.setSubtitle("A crisis exercise"); - exercise.setFrom("exercise@mail.fr"); - exercise.setCategory("crisis-communication"); - return exercise; - } + public static Exercise getExercise() { + return getExercise(null); + } - public static Exercise createDefaultIncidentResponseExercise() { - Exercise exercise = new Exercise(); - exercise.setName("Incident response exercise"); - exercise.setDescription("An incident response exercise for my enterprise"); - exercise.setSubtitle("An incident response exercise"); - exercise.setFrom("exercise@mail.fr"); - exercise.setCategory("incident-response"); - exercise.setStatus(ExerciseStatus.SCHEDULED); - exercise.setStart(Instant.now()); - return exercise; + public static Exercise getExercise(List exerciseTeams) { + Exercise exercise = new Exercise(); + exercise.setName(EXERCISE_NAME); + if (exerciseTeams != null) { + exercise.setTeams(exerciseTeams); } + return exercise; + } + + public static Exercise createDefaultCrisisExercise() { + Exercise exercise = new Exercise(); + exercise.setName("Crisis exercise"); + exercise.setDescription("A crisis exercise for my enterprise"); + exercise.setSubtitle("A crisis exercise"); + exercise.setFrom("exercise@mail.fr"); + exercise.setCategory("crisis-communication"); + return exercise; + } + + public static Exercise createDefaultIncidentResponseExercise() { + Exercise exercise = new Exercise(); + exercise.setName("Incident response exercise"); + exercise.setDescription("An incident response exercise for my enterprise"); + exercise.setSubtitle("An incident response exercise"); + exercise.setFrom("exercise@mail.fr"); + exercise.setCategory("incident-response"); + exercise.setStatus(ExerciseStatus.SCHEDULED); + exercise.setStart(Instant.now()); + return exercise; + } + + /* + _ create exercise with team containing a user with email (user enabled) + _ create exercise with team containing a user with email (user not enabled) + _ create exercise without team + _ create exercise with team without user + _ create email + */ }