diff --git a/webwolf/pom.xml b/webwolf/pom.xml index cc1cd5fa2..6e2ade92b 100644 --- a/webwolf/pom.xml +++ b/webwolf/pom.xml @@ -78,6 +78,13 @@ hsqldb ${hsqldb.version} + + + + org.springframework.boot + spring-boot-starter-test + test + diff --git a/webwolf/src/main/java/org/owasp/webwolf/mailbox/Email.java b/webwolf/src/main/java/org/owasp/webwolf/mailbox/Email.java index cd6b9f1b4..3c39675cd 100644 --- a/webwolf/src/main/java/org/owasp/webwolf/mailbox/Email.java +++ b/webwolf/src/main/java/org/owasp/webwolf/mailbox/Email.java @@ -6,6 +6,8 @@ import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; import javax.persistence.Id; import java.io.Serializable; import java.time.LocalDateTime; @@ -23,7 +25,8 @@ import java.time.format.DateTimeFormatter; public class Email implements Serializable { @Id - private String id; + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; private LocalDateTime time; private String contents; private String sender; diff --git a/webwolf/src/test/java/org/owasp/webwolf/mailbox/MailboxRepositoryTest.java b/webwolf/src/test/java/org/owasp/webwolf/mailbox/MailboxRepositoryTest.java new file mode 100644 index 000000000..1c9908a7d --- /dev/null +++ b/webwolf/src/test/java/org/owasp/webwolf/mailbox/MailboxRepositoryTest.java @@ -0,0 +1,49 @@ +package org.owasp.webwolf.mailbox; + +import org.hamcrest.CoreMatchers; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.time.LocalDateTime; +import java.util.List; + +import static org.junit.Assert.*; + +@DataJpaTest +@RunWith(SpringRunner.class) +public class MailboxRepositoryTest { + + + @Autowired + private MailboxRepository mailboxRepository; + + @Test + public void emailShouldBeSaved() { + Email email = new Email(); + email.setTime(LocalDateTime.now()); + email.setTitle("test"); + email.setSender("test@test.com"); + email.setContents("test"); + email.setRecipient("someone@webwolf.org"); + mailboxRepository.save(email); + } + + @Test + public void savedEmailShouldBeFoundByReceipient() { + Email email = new Email(); + email.setTime(LocalDateTime.now()); + email.setTitle("test"); + email.setSender("test@test.com"); + email.setContents("test"); + email.setRecipient("someone@webwolf.org"); + mailboxRepository.saveAndFlush(email); + + List emails = mailboxRepository.findByRecipientOrderByTimeDesc("someone@webwolf.org"); + + assertThat(emails.size(), CoreMatchers.is(1)); + } + +}