1 37 package net.sourceforge.cruisecontrol.publishers; 38 39 import junit.framework.TestCase; 40 import net.sourceforge.cruisecontrol.CruiseControlException; 41 import net.sourceforge.cruisecontrol.util.XMLLogHelper; 42 import org.jdom.Element; 43 44 public class LinkEmailPublisherTest extends TestCase { 45 46 private XMLLogHelper successLogHelper; 47 private EmailPublisher publisher; 48 private String baseURLString = 49 "http://mybuildserver.com:8080/buildservlet/BuildServlet"; 50 51 protected void setUp() throws Exception { 52 successLogHelper = createLogHelper(true, true); 53 publisher = new LinkEmailPublisher(); 54 } 55 56 protected XMLLogHelper createLogHelper( 57 boolean success, 58 boolean lastBuildSuccess) { 59 Element cruisecontrolElement = new Element("cruisecontrol"); 60 Element infoElement = new Element("info"); 61 Element logFileElement = new Element("property"); 62 logFileElement.setAttribute("name", "logfile"); 63 logFileElement.setAttribute("value", "log20020206120000.xml"); 64 infoElement.addContent(logFileElement); 65 cruisecontrolElement.addContent(infoElement); 66 67 return new XMLLogHelper(cruisecontrolElement); 68 } 69 70 public void testCreateMessage() { 71 publisher.setBuildResultsURL(baseURLString); 72 assertEquals( 73 "View results here -> " + baseURLString + "?log=log20020206120000", 74 publisher.createMessage(successLogHelper)); 75 } 76 77 public void testQuestionMarkInBuildResultsURL() { 78 publisher.setBuildResultsURL(baseURLString + "?key=value"); 79 80 assertEquals( 81 "View results here -> " 82 + baseURLString 83 + "?key=value&log=log20020206120000", 84 publisher.createMessage(successLogHelper)); 85 } 86 87 public void testValidate() { 88 publisher.setMailHost("mailhost"); 89 publisher.setReturnAddress("returnaddress"); 90 try { 91 publisher.validate(); 92 fail("should throw exception if BuildResultURL not set"); 93 } catch (CruiseControlException e) { 94 } 95 publisher.setBuildResultsURL("buildResultsURL"); 96 try { 97 publisher.validate(); 98 } catch (CruiseControlException e) { 99 fail("should NOT throw exception if BuildResultURL not set"); 100 } 101 } 102 103 } | Popular Tags |