Search in sources :

Example 31 with EmailMessage

use of org.sonar.server.issue.notification.EmailMessage in project sonarqube by SonarSource.

the class BuiltInQPChangeNotificationTemplateTest method notification_contains_profiles_sorted_by_language_then_by_profile_name.

@Test
public void notification_contains_profiles_sorted_by_language_then_by_profile_name() {
    String languageKey1 = "langkey1_" + randomAlphanumeric(20);
    String languageName1 = "langName1_" + randomAlphanumeric(20);
    String languageKey2 = "langKey2_" + randomAlphanumeric(20);
    String languageName2 = "langName2_" + randomAlphanumeric(20);
    String profileName1 = "profile1_" + randomAlphanumeric(20);
    String profileName2 = "profile2_" + randomAlphanumeric(20);
    String profileName3 = "profile3_" + randomAlphanumeric(20);
    BuiltInQPChangeNotificationBuilder notification = new BuiltInQPChangeNotificationBuilder().addProfile(Profile.newBuilder().setProfileName(profileName3).setLanguageKey(languageKey2).setLanguageName(languageName2).build()).addProfile(Profile.newBuilder().setProfileName(profileName2).setLanguageKey(languageKey1).setLanguageName(languageName1).build()).addProfile(Profile.newBuilder().setProfileName(profileName1).setLanguageKey(languageKey2).setLanguageName(languageName2).build());
    EmailMessage emailMessage = underTest.format(notification.build());
    assertThat(emailMessage.getMessage()).containsSubsequence("\"" + profileName2 + "\" - " + languageName1, "\"" + profileName1 + "\" - " + languageName2, "\"" + profileName3 + "\" - " + languageName2);
}
Also used : EmailMessage(org.sonar.server.issue.notification.EmailMessage) Test(org.junit.Test)

Example 32 with EmailMessage

use of org.sonar.server.issue.notification.EmailMessage in project sonarqube by SonarSource.

the class BuiltInQPChangeNotificationTemplateTest method notification_supports_grammar_for_single_rule_added_removed_or_updated.

@Test
public void notification_supports_grammar_for_single_rule_added_removed_or_updated() {
    String profileName = newProfileName();
    String languageKey = newLanguageKey();
    String languageName = newLanguageName();
    BuiltInQPChangeNotificationBuilder notification = new BuiltInQPChangeNotificationBuilder().addProfile(Profile.newBuilder().setProfileName(profileName).setLanguageKey(languageKey).setLanguageName(languageName).setNewRules(1).setUpdatedRules(1).setRemovedRules(1).build());
    EmailMessage emailMessage = underTest.format(notification.build());
    assertThat(emailMessage.getMessage()).contains("\n 1 new rule\n").contains("\n 1 rule has been updated\n").contains("\n 1 rule removed\n");
}
Also used : EmailMessage(org.sonar.server.issue.notification.EmailMessage) Test(org.junit.Test)

Aggregations

EmailMessage (org.sonar.server.issue.notification.EmailMessage)32 Test (org.junit.Test)27 Notification (org.sonar.api.notifications.Notification)13 CheckForNull (javax.annotation.CheckForNull)3 MimeMessage (javax.mail.internet.MimeMessage)3 WiserMessage (org.subethamail.wiser.WiserMessage)3 UseDataProvider (com.tngtech.java.junit.dataprovider.UseDataProvider)2 Date (java.util.Date)2 EmailException (org.apache.commons.mail.EmailException)2 DateUtils.formatDate (org.sonar.api.utils.DateUtils.formatDate)2 EmailTemplate (org.sonar.server.issue.notification.EmailTemplate)2 EmailDeliveryRequest (org.sonar.server.notification.email.EmailNotificationChannel.EmailDeliveryRequest)2 DataProvider (com.tngtech.java.junit.dataprovider.DataProvider)1 DataProviderRunner (com.tngtech.java.junit.dataprovider.DataProviderRunner)1 IOException (java.io.IOException)1 Collections (java.util.Collections)1 List (java.util.List)1 Map (java.util.Map)1 Random (java.util.Random)1 Set (java.util.Set)1