*/
package org.sonar.plugins.emailnotifications.templates.reviews;
-import org.sonar.plugins.emailnotifications.templates.reviews.ReviewEmailTemplate;
-
import org.junit.Before;
import org.junit.Test;
import org.sonar.api.config.EmailSettings;
import org.sonar.api.security.UserFinder;
import org.sonar.plugins.emailnotifications.api.EmailMessage;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
+import static org.fest.assertions.Assertions.assertThat;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
* </pre>
*/
@Test
- public void shouldFormatCommentAdded() {
+ public void should_format_comment_added() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.comment", null)
.setFieldValue("new.comment", "This is my first comment");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Comment:\n" +
" This is my first comment\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatCommentEdited() {
+ public void should_format_commentedited() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.comment", "This is my first comment")
.setFieldValue("new.comment", "This is another comment");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Was:\n" +
" This is my first comment\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatCommentDeleted() {
+ public void should_format_comment_deleted() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("new.comment", null)
.setFieldValue("author", "freddy.mallet");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Comment deleted, was:\n" +
" This is deleted comment\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatAssigneed() {
+ public void should_format_assigneed() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.assignee", null)
.setFieldValue("new.assignee", "evgeny.mandrikov");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"\n" +
"Assignee: Evgeny Mandrikov\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatAssigneedToAnotherPerson() {
+ public void should_format_assigneed_to_another_person() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.assignee", "evgeny.mandrikov")
.setFieldValue("new.assignee", "simon.brandhof");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"\n" +
"Assignee: Simon Brandhof (was Evgeny Mandrikov)\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatUnassigned() {
+ public void should_format_unassigned() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.assignee", "simon.brandhof")
.setFieldValue("new.assignee", null);
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"\n" +
"Assignee: (was Simon Brandhof)\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatClosed() {
+ public void should_format_closed() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.status", "OPEN")
.setFieldValue("new.status", "CLOSED");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), nullValue());
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isNull();
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"\n" +
"Status: CLOSED (was OPEN)\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatReopened() {
+ public void should_format_reopened() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("old.status", "RESOLVED")
.setFieldValue("new.status", "REOPENED");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), nullValue());
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isNull();
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Status: REOPENED (was RESOLVED)\n" +
"Resolution: (was FIXED)\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatResolvedAsFixed() {
+ public void should_format_resolved_as_fixed() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("new.status", "RESOLVED")
.setFieldValue("new.resolution", "FIXED");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Simon Brandhof"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1");
+ assertThat(message.getFrom()).isEqualTo("Simon Brandhof");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Status: RESOLVED (was OPEN)\n" +
"Resolution: FIXED\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
/**
* </pre>
*/
@Test
- public void shouldFormatResolvedAsFalsePositive() {
+ public void should_format_resolved_as_false_positive() {
Notification notification = new Notification("review-changed")
.setFieldValue("reviewId", "1")
.setFieldValue("project", "Sonar")
.setFieldValue("new.resolution", "FALSE-POSITIVE")
.setFieldValue("new.comment", "Because!");
EmailMessage message = template.format(notification);
- assertThat(message.getMessageId(), is("review/1"));
- assertThat(message.getSubject(), is("Review #1"));
- assertThat(message.getFrom(), is("Freddy Mallet"));
- assertThat(message.getMessage(), is("" +
+ assertThat(message.getMessageId()).isEqualTo("review/1");
+ assertThat(message.getSubject()).isEqualTo("Review #1 - False Positive");
+ assertThat(message.getFrom()).isEqualTo("Freddy Mallet");
+ assertThat(message.getMessage()).isEqualTo("" +
"Project: Sonar\n" +
"Resource: org.sonar.server.ui.DefaultPages\n" +
"\n" +
"Comment:\n" +
" Because!\n" +
"\n" +
- "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n"));
+ "See it in Sonar: http://nemo.sonarsource.org/reviews/view/1\n");
}
@Test
- public void shouldNotFormat() {
+ public void should_not_format() {
Notification notification = new Notification("other");
EmailMessage message = template.format(notification);
- assertThat(message, nullValue());
+ assertThat(message).isNull();
}
@Test
- public void shouldReturnFullNameOrLogin() {
- assertThat(template.getUserFullName("freddy.mallet"), is("Freddy Mallet"));
- assertThat(template.getUserFullName("deleted"), is("deleted"));
- assertThat(template.getUserFullName(null), nullValue());
+ public void should_return_full_name_or_login() {
+ assertThat(template.getUserFullName("freddy.mallet")).isEqualTo("Freddy Mallet");
+ assertThat(template.getUserFullName("deleted")).isEqualTo("deleted");
+ assertThat(template.getUserFullName(null)).isNull();
}
}