]> source.dussan.org Git - sonarqube.git/commitdiff
Fix potential test failure if CR-LF Git newline
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 25 Sep 2015 22:42:35 +0000 (00:42 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Fri, 25 Sep 2015 22:44:19 +0000 (00:44 +0200)
server/sonar-server/src/test/java/org/sonar/server/issue/notification/MyNewIssuesEmailTemplateTest.java

index 2e78994ee4f0e3a4b9aba5d9de85bdba6cc36be0..234903787465c03492eb117f28bae28cf7727ee1 100644 (file)
 
 package org.sonar.server.issue.notification;
 
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.Date;
+import java.util.Locale;
 import org.apache.commons.io.IOUtils;
 import org.junit.Before;
 import org.junit.Test;
@@ -32,10 +36,6 @@ import org.sonar.plugins.emailnotifications.api.EmailMessage;
 import org.sonar.server.user.index.UserDoc;
 import org.sonar.server.user.index.UserIndex;
 
-import java.nio.charset.StandardCharsets;
-import java.util.Date;
-import java.util.Locale;
-
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyString;
@@ -95,7 +95,7 @@ public class MyNewIssuesEmailTemplateTest {
     EmailMessage message = underTest.format(notification);
 
     // TODO datetime to be completed when test is isolated from JVM timezone
-    String file = IOUtils.toString(getClass().getResource("MyNewIssuesEmailTemplateTest/email_with_all_details.txt"), StandardCharsets.UTF_8);
+    String file = loadTestFile("MyNewIssuesEmailTemplateTest/email_with_all_details.txt");
     assertThat(message.getMessage()).startsWith(file);
   }
 
@@ -124,7 +124,7 @@ public class MyNewIssuesEmailTemplateTest {
     EmailMessage message = underTest.format(notification);
 
     // TODO datetime to be completed when test is isolated from JVM timezone
-    String file = IOUtils.toString(getClass().getResource("MyNewIssuesEmailTemplateTest/email_with_no_assignee_tags_components.txt"), StandardCharsets.UTF_8);
+    String file = loadTestFile("MyNewIssuesEmailTemplateTest/email_with_no_assignee_tags_components.txt");
     assertThat(message.getMessage()).startsWith(file);
   }
 
@@ -177,4 +177,10 @@ public class MyNewIssuesEmailTemplateTest {
       .setFieldValue(RULE + ".2.label", "Rule the World (Java)")
       .setFieldValue(RULE + ".2.count", "5");
   }
+
+  private static String loadTestFile(String path) throws IOException {
+    String file = IOUtils.toString(MyNewIssuesEmailTemplateTest.class.getResource(path), StandardCharsets.UTF_8);
+    // sanitize EOL characters if git clone is badly configured
+    return file.replaceAll("\\r\\n|\\r", "");
+  }
 }