Skip to content

Commit

Permalink
Mock JavaMailSender
Browse files Browse the repository at this point in the history
  • Loading branch information
RomuDeuxfois committed Oct 23, 2024
1 parent 049ceb1 commit ff2ff5e
Showing 1 changed file with 16 additions and 1 deletion.
17 changes: 16 additions & 1 deletion openbas-api/src/test/java/io/openbas/rest/InjectApiTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.jayway.jsonpath.JsonPath;
import io.openbas.IntegrationTest;
import io.openbas.database.model.InjectorContract;
import io.openbas.database.model.*;
import io.openbas.database.repository.*;
import io.openbas.rest.exercise.service.ExerciseService;
Expand All @@ -16,10 +15,17 @@
import io.openbas.utils.mockUser.WithMockObserverUser;
import io.openbas.utils.mockUser.WithMockPlannerUser;
import jakarta.annotation.Resource;
import jakarta.mail.internet.MimeMessage;
import jakarta.servlet.ServletException;
import org.junit.jupiter.api.*;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.ArgumentMatchers;
import org.mockito.junit.jupiter.MockitoExtension;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.http.MediaType;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.util.ResourceUtils;
Expand All @@ -40,11 +46,13 @@
import static io.openbas.utils.fixtures.InjectFixture.getInjectForEmailContract;
import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.TestInstance.Lifecycle.PER_CLASS;
import static org.mockito.Mockito.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
@TestInstance(PER_CLASS)
@ExtendWith(MockitoExtension.class)
class InjectApiTest extends IntegrationTest {

static Exercise EXERCISE;
Expand Down Expand Up @@ -80,6 +88,8 @@ class InjectApiTest extends IntegrationTest {
private UserRepository userRepository;
@Resource
private ObjectMapper objectMapper;
@MockBean
private JavaMailSender javaMailSender;

@BeforeAll
void beforeAll() {
Expand Down Expand Up @@ -374,6 +384,11 @@ void executeEmailInjectForExerciseTest() throws Exception {
"application/xlsx",
in.readAllBytes());

// Mock the behavior of JavaMailSender
doNothing().when(javaMailSender).send(ArgumentMatchers.any(SimpleMailMessage.class));
MimeMessage mimeMessage = mock(MimeMessage.class);
when(javaMailSender.createMimeMessage()).thenReturn(mimeMessage);

// -- EXECUTE --
String response = mvc.perform(multipart(EXERCISE_URI + "/" + EXERCISE.getId() + "/inject")
.file(inputJson)
Expand Down

0 comments on commit ff2ff5e

Please sign in to comment.