mirror of
https://github.com/Frooodle/Stirling-PDF.git
synced 2025-09-12 17:52:13 +02:00
Create EmailServiceTest.java
This commit is contained in:
parent
493ed6d5a5
commit
06914c8a4f
@ -0,0 +1,64 @@
|
||||
package stirling.software.SPDF.config.security.mail;
|
||||
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
import jakarta.mail.MessagingException;
|
||||
import jakarta.mail.internet.MimeMessage;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import stirling.software.SPDF.model.ApplicationProperties;
|
||||
import stirling.software.SPDF.model.api.Email;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class EmailServiceTest {
|
||||
|
||||
@Mock
|
||||
private JavaMailSender mailSender;
|
||||
|
||||
@Mock
|
||||
private ApplicationProperties applicationProperties;
|
||||
|
||||
@Mock
|
||||
private ApplicationProperties.Mail mailProperties;
|
||||
|
||||
@Mock
|
||||
private MultipartFile fileInput;
|
||||
|
||||
@InjectMocks
|
||||
private EmailService emailService;
|
||||
|
||||
@Test
|
||||
void testSendEmailWithAttachment() throws MessagingException {
|
||||
// Mock the values returned by ApplicationProperties
|
||||
when(applicationProperties.getMail()).thenReturn(mailProperties);
|
||||
when(mailProperties.getFrom()).thenReturn("no-reply@stirling-software.com");
|
||||
|
||||
// Create a mock Email object
|
||||
Email email = new Email();
|
||||
email.setTo("test@example.com");
|
||||
email.setSubject("Test Email");
|
||||
email.setBody("This is a test email.");
|
||||
email.setFileInput(fileInput);
|
||||
|
||||
// Mock MultipartFile behavior
|
||||
when(fileInput.getOriginalFilename()).thenReturn("testFile.txt");
|
||||
|
||||
// Mock MimeMessage
|
||||
MimeMessage mimeMessage = mock(MimeMessage.class);
|
||||
|
||||
// Configure mailSender to return the mocked MimeMessage
|
||||
when(mailSender.createMimeMessage()).thenReturn(mimeMessage);
|
||||
|
||||
// Call the service method
|
||||
emailService.sendEmailWithAttachment(email);
|
||||
|
||||
// Verify that the email was sent using mailSender
|
||||
verify(mailSender).send(mimeMessage);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user