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 43 import org.jdom.Element; 44 45 48 public class SametimeAnnouncementPublisherTest extends TestCase { 49 50 private XMLLogHelper successLogHelper; 51 private SametimeAnnouncementPublisher publisher; 52 private String baseURLString = 53 "http://mybuildserver.com:8080/buildservlet/BuildServlet"; 54 55 protected void setUp() throws Exception { 56 successLogHelper = createLogHelper(true, true); 57 publisher = new SametimeAnnouncementPublisher(); 58 } 59 60 protected XMLLogHelper createLogHelper( 61 boolean success, 62 boolean lastBuildSuccess) { 63 Element cruisecontrolElement = new Element("cruisecontrol"); 64 Element infoElement = new Element("info"); 65 Element logFileElement = new Element("property"); 66 logFileElement.setAttribute("name", "logfile"); 67 logFileElement.setAttribute("value", "log20020206120000.xml"); 68 infoElement.addContent(logFileElement); 69 cruisecontrolElement.addContent(infoElement); 70 71 return new XMLLogHelper(cruisecontrolElement); 72 } 73 74 public void testCreateMessage() { 75 publisher.setBuildResultsURL(baseURLString); 76 assertEquals( 77 "View results here -> " + baseURLString + "?log=log20020206120000", 78 publisher.createMessage(successLogHelper)); 79 80 publisher.setBuildResultsURL(null); 81 assertNull(publisher.createMessage(successLogHelper)); 82 } 83 84 public void testQuestionMarkInBuildResultsURL() { 85 publisher.setBuildResultsURL(baseURLString + "?key=value"); 86 87 assertEquals( 88 "View results here -> " 89 + baseURLString 90 + "?key=value&log=log20020206120000", 91 publisher.createMessage(successLogHelper)); 92 } 93 94 public void testValidate() { 95 publisher.setHost("host"); 96 publisher.setUsername("username"); 97 try { 98 publisher.validate(); 99 } catch (CruiseControlException e) { 100 fail("should NOT throw exception if host and username are set"); 101 } 102 publisher.setHost(null); 103 try { 104 publisher.validate(); 105 fail("should throw exception if host not set"); 106 } catch (CruiseControlException e) { 107 } 108 109 publisher.setHost("host"); 110 publisher.setUsername(null); 111 try { 112 publisher.validate(); 113 fail("should throw exception if username not set"); 114 } catch (CruiseControlException e) { 115 } 116 117 publisher.setHandleResolveConflicts("invalid_value"); 118 try { 119 publisher.validate(); 120 fail("should throw exception if handleresolveconflicts invalid"); 121 } catch (CruiseControlException e) { 122 } 123 124 publisher.setHandleResolveFails("invalid_value"); 125 try { 126 publisher.validate(); 127 fail("should throw exception if handleresolvefails invalid"); 128 } catch (CruiseControlException e) { 129 } 130 131 publisher.setHandleQueryGroupContentFails("invalid_value"); 132 try { 133 publisher.validate(); 134 fail("should throw exception if handlequerygroupcontent invalid"); 135 } catch (CruiseControlException e) { 136 } 137 } 138 139 } 140 | Popular Tags |