package net.sourceforge.cruisecontrol.util; import java.util.List; import junit.framework.TestCase; import net.sourceforge.cruisecontrol.BuildLoopInformation; import net.sourceforge.cruisecontrol.Modification; public class BuildInformationHelperTest extends TestCase { public void testShouldCreateObjectFromXml() throws Exception { String xml = "<buildloop>\r\n" + " <uuid>3a373376-44b5-4c22-a782-6c05d1c5c4a5</uuid>" + " <jmx>\r\n" + " <httpurl>http://www.buildloop.com:1234</httpurl>\r\n" + " <rmiurl>rmi://www.buildloop.com:5678</rmiurl>\r\n" + " <username>Chris</username>\r\n" + " <password>123asd</password>\r\n" + " </jmx>\r\n" + " <servername>www.buildloop.com</servername>\r\n" + " <timestamp>2007-09-20T06:53:57</timestamp>\r\n" + " <projects>\r\n" + " <project>\r\n" + " <name>project1</name>\r\n" + " <status>building</status>\r\n" + " <buildstarttime>2003-12-12T07:22:35</buildstarttime>\r\n" + " <modifications>\r\n" + " <modification>\r\n" + " <type>unknown</type>\r\n" + " <username>bob</username>\r\n" + " <revision>123</revision>\r\n" + " <comment>support security check</comment>\r\n" + " <files/>\r\n" + " </modification>\r\n" + " </modifications>\r\n" + " </project>\r\n" + " </projects>\r\n" + "</buildloop>\r\n"; BuildLoopInformation buildInfo = new BuildInformationHelper().toObject(xml); assertEquals("3a373376-44b5-4c22-a782-6c05d1c5c4a5", buildInfo.getUuid()); BuildLoopInformation.JmxInfo jmxInfo = buildInfo.getJmxInfo(); assertEquals("http://www.buildloop.com:1234", jmxInfo.getHttpAdpatorUrl()); assertEquals("rmi://www.buildloop.com:5678", jmxInfo.getRmiUrl()); assertEquals("Chris", jmxInfo.getUserName()); assertEquals("123asd", jmxInfo.getPassword()); assertEquals("www.buildloop.com", buildInfo.getServerName()); assertEquals("2007-09-20T06:53:57", buildInfo.getTimestamp()); BuildLoopInformation.ProjectInfo[] projects = buildInfo.getProjects(); assertEquals(1, projects.length); assertEquals("project1", projects[0].getName()); assertEquals("building", projects[0].getStatus()); assertEquals("2003-12-12T07:22:35", projects[0].getBuildStartTime()); List modifications = projects[0].getModifications(); assertEquals(1, modifications.size()); Modification modification = (Modification) modifications.get(0); assertEquals("bob", modification.userName); assertEquals("support security check", modification.comment); assertEquals("123", modification.revision); } }