3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertTrue;
6 import java.io.IOException;
9 import net.jaekl.qd.util.FileIOMock;
10 import net.jaekl.qd.util.FileMock;
12 import org.junit.AfterClass;
13 import org.junit.BeforeClass;
14 import org.junit.Test;
16 public class ConfigTest {
17 private static final String CHRIS = "chris@localhost";
18 private static final String HUDSON = "hudson@jenkins.org";
19 private static final String MAIL_FROM = "findbugs@jaekl.net";
20 private static final String MAIL_TO = CHRIS + "," + HUDSON;
21 private static final String LOCALHOST = "localhost";
23 private static final String SAMPLE1 =
24 "; Path (relative or absolute) to the FINDBUGS_HOME, i.e., where FindBugs is installed\n"
25 + "FindBugsHome=../findbugs-3.0.1/\n"
26 + "; List (comma-separated) of email addresses to which notifications should be sent\n"
27 + "notify=" + MAIL_TO + "\n"
29 + "; Mail server setup\n"
30 + "mail.smtp.host=" + LOCALHOST + "\n"
31 + "mail.from=" + MAIL_FROM + "\n";
34 public static void beforeClass() {
35 FileIOMock.mock_setInstance();
39 public static void afterClass() {
40 FileIOMock.mock_clearInstance();
44 public void testReadFile() throws IOException {
45 Config config = new Config();
47 FileMock fm = new FileMock("config.properties");
48 fm.mock_setContent(SAMPLE1);
52 assertEquals(MAIL_FROM, config.getMailFrom());
53 assertEquals(LOCALHOST, config.getMailSmtpHost());
55 List<String> notify = config.getNotify();
56 assertTrue(notify.contains(CHRIS));
57 assertTrue(notify.contains(HUDSON));
61 public void testReadEmptyFile() throws IOException {
62 Config config = new Config();
63 FileMock fm = new FileMock("empty.properties");
64 fm.mock_setContent("");
68 assertEquals("findbugs@localhost", config.getMailFrom());
69 assertEquals("localhost", config.getMailSmtpHost());
70 assertEquals(0, config.getNotify().size());