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));
+ }
+
+}