[jboss-svn-commits] JBL Code SVN: r35598 - in labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src: main/java/org/jboss/community/sbs/plugin/reports/monthly/config and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Oct 20 11:02:39 EDT 2010
Author: velias
Date: 2010-10-20 11:02:38 -0400 (Wed, 20 Oct 2010)
New Revision: 35598
Added:
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/JiveSystemConfigProvider.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/SystemConfigProvider.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockAggregator.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockSystemDataConfig.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfigTest.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigTest.java
Modified:
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGenerator.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfig.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfig.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSource.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/ValueSourceBase.java
labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGeneratorTest.java
Log:
- system configuration provider added
- check for project name existence added during configuration load
- more unit tests for config package
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/JiveSystemConfigProvider.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/JiveSystemConfigProvider.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/JiveSystemConfigProvider.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,44 @@
+package org.jboss.community.sbs.plugin.reports.monthly;
+
+import com.jivesoftware.community.JiveGlobals;
+
+/**
+ * JIVE SBS system configuration properties provider. Based on {@link JiveGlobals}.
+ *
+ * @author Vlastimil Elias (velias at redhat dot com)
+ *
+ * @see JiveGlobals
+ */
+public class JiveSystemConfigProvider implements SystemConfigProvider {
+
+ @Override
+ public boolean getBooleanProperty(String name) {
+ return JiveGlobals.getJiveBooleanProperty(name);
+ }
+
+ @Override
+ public boolean getBooleanProperty(String name, boolean defaultValue) {
+ return JiveGlobals.getJiveBooleanProperty(name, defaultValue);
+ }
+
+ @Override
+ public int getIntProperty(String name, int defaultValue) {
+ return JiveGlobals.getJiveIntProperty(name, defaultValue);
+ }
+
+ @Override
+ public long getLongProperty(String name, long defaultValue) {
+ return JiveGlobals.getJiveLongProperty(name, defaultValue);
+ }
+
+ @Override
+ public String getStringProperty(String name) {
+ return JiveGlobals.getJiveProperty(name);
+ }
+
+ @Override
+ public String getStringProperty(String name, String defaultValue) {
+ return JiveGlobals.getJiveProperty(name, defaultValue);
+ }
+
+}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGenerator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGenerator.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGenerator.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -17,6 +17,7 @@
import org.jboss.community.sbs.plugin.reports.monthly.valuesource.FISHEYEValueSource;
import org.jboss.community.sbs.plugin.reports.monthly.valuesource.JIRAValueSource;
import org.jboss.community.sbs.plugin.reports.monthly.valuesource.SBSValueSource;
+import org.jboss.community.sbs.plugin.reports.monthly.valuesource.ValueSource;
import au.com.bytecode.opencsv.CSVWriter;
@@ -35,17 +36,21 @@
* @param configFile input stream with report content configuration file. See {@link ReportConfigParser}.
* @param dateFrom lower time bound to generate report for
* @param dateTo upper time bound to generate report for
+ * @param sysConfig System configuration provider to be used during report generation. Required system config values
+ * are documented in distinct {@link ValueSource} subclass's javadoc.
+ *
* @return String containing csv file with generated report data
*
* @throws Exception if something goes wrong
*/
- public String generateReport(InputStream configFile, Date dateFrom, Date dateTo) throws Exception {
+ public String generateReport(InputStream configFile, Date dateFrom, Date dateTo, SystemConfigProvider sysConfig)
+ throws Exception {
ReportConfig config = new ReportConfigParser().parseConfigFile(configFile);
- SBSAggregator as = new SBSAggregator(new SBSValueSource(dateFrom, dateTo));
- JIRAAggregator aj = new JIRAAggregator(new JIRAValueSource(dateFrom, dateTo));
- FISHEYEAggregator af = new FISHEYEAggregator(new FISHEYEValueSource(dateFrom, dateTo));
+ SBSAggregator as = new SBSAggregator(new SBSValueSource(sysConfig, dateFrom, dateTo));
+ JIRAAggregator aj = new JIRAAggregator(new JIRAValueSource(sysConfig, dateFrom, dateTo));
+ FISHEYEAggregator af = new FISHEYEAggregator(new FISHEYEValueSource(sysConfig, dateFrom, dateTo));
StringWriter writer = new StringWriter();
CSVWriter csvwriter = getCSVWriter(writer);
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/SystemConfigProvider.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/SystemConfigProvider.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/SystemConfigProvider.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,24 @@
+package org.jboss.community.sbs.plugin.reports.monthly;
+
+import org.jboss.community.sbs.plugin.reports.monthly.valuesource.ValueSource;
+
+/**
+ * Abstraction of access to system configuration properties. Used in {@link ValueSource} implementations to load
+ * necessary configurations.
+ *
+ * @author Vlastimil Elias (velias at redhat dot com)
+ */
+public interface SystemConfigProvider {
+
+ String getStringProperty(String name);
+
+ String getStringProperty(String name, String defaultValue);
+
+ boolean getBooleanProperty(String name);
+
+ boolean getBooleanProperty(String name, boolean defaultValue);
+
+ int getIntProperty(String name, int defaultValue);
+
+ long getLongProperty(String name, long defaultValue);
+}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfig.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfig.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfig.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -3,6 +3,8 @@
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
+
/**
* Report configuration for one project.
*
@@ -10,6 +12,21 @@
*/
public class ProjectConfig {
+ /**
+ * Constructor.
+ */
+ public ProjectConfig() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param name of project
+ */
+ public ProjectConfig(String name) {
+ setName(name);
+ }
+
/** Name of project. */
private String name;
@@ -33,7 +50,7 @@
* @param name the new name of project
*/
public void setName(String name) {
- this.name = name;
+ this.name = StringUtils.trimToNull(name);
}
/**
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfig.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfig.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfig.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -30,6 +30,10 @@
* @param proj to add
*/
public void addProjectConfig(ProjectConfig proj) {
+ if (proj == null)
+ return;
+ if (proj.getName() == null)
+ throw new IllegalArgumentException("Project name can't be empty");
projects.add(proj);
}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/FISHEYEValueSource.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -2,6 +2,7 @@
import java.util.Date;
+import org.jboss.community.sbs.plugin.reports.monthly.SystemConfigProvider;
import org.jboss.community.sbs.plugin.reports.monthly.config.FishEyeRepositoryConfig;
/**
@@ -14,11 +15,12 @@
/**
* Constructor.
*
+ * @param sysConfig System configuration provider to be used
* @param dateFrom lower time bound to generate report for
* @param dateTo upper time bound to generate report for
*/
- public FISHEYEValueSource(Date dateFrom, Date dateTo) {
- super(dateFrom, dateTo);
+ public FISHEYEValueSource(SystemConfigProvider sysConfig, Date dateFrom, Date dateTo) {
+ super(sysConfig, dateFrom, dateTo);
}
@Override
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/JIRAValueSource.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -2,6 +2,8 @@
import java.util.Date;
+import org.jboss.community.sbs.plugin.reports.monthly.SystemConfigProvider;
+
/**
* Data source to obtain report value for one project in JIRA.
*
@@ -12,11 +14,12 @@
/**
* Constructor.
*
+ * @param sysConfig System configuration provider to be used
* @param dateFrom lower time bound to generate report for
* @param dateTo upper time bound to generate report for
*/
- public JIRAValueSource(Date dateFrom, Date dateTo) {
- super(dateFrom, dateTo);
+ public JIRAValueSource(SystemConfigProvider sysConfig, Date dateFrom, Date dateTo) {
+ super(sysConfig, dateFrom, dateTo);
}
@Override
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSource.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSource.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/SBSValueSource.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -2,6 +2,8 @@
import java.util.Date;
+import org.jboss.community.sbs.plugin.reports.monthly.SystemConfigProvider;
+
/**
* Data source to obtain report value for one Space from SBS.
*
@@ -12,11 +14,12 @@
/**
* Constructor.
*
+ * @param sysConfig System configuration provider to be used
* @param dateFrom lower time bound to generate report for
* @param dateTo upper time bound to generate report for
*/
- public SBSValueSource(Date dateFrom, Date dateTo) {
- super(dateFrom, dateTo);
+ public SBSValueSource(SystemConfigProvider sysConfig, Date dateFrom, Date dateTo) {
+ super(sysConfig, dateFrom, dateTo);
}
@Override
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/ValueSourceBase.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/ValueSourceBase.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/main/java/org/jboss/community/sbs/plugin/reports/monthly/valuesource/ValueSourceBase.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -2,6 +2,8 @@
import java.util.Date;
+import org.jboss.community.sbs.plugin.reports.monthly.SystemConfigProvider;
+
/**
* Base class for {@link ValueSource} implementations.
*
@@ -11,18 +13,32 @@
*/
public abstract class ValueSourceBase<T> implements ValueSource<T> {
+ /**
+ * Lower time bound to generate report for.
+ */
protected Date dateFrom;
+
+ /**
+ * Upper time bound to generate report for.
+ */
protected Date dateTo;
/**
+ * System configuration provider to be used.
+ */
+ protected SystemConfigProvider sysConfig;
+
+ /**
* Constructor.
*
+ * @param sysConfig System configuration provider to be used
* @param dateFrom lower time bound to generate report for
* @param dateTo upper time bound to generate report for
*/
- public ValueSourceBase(Date dateFrom, Date dateTo) {
+ public ValueSourceBase(SystemConfigProvider sysConfig, Date dateFrom, Date dateTo) {
this.dateFrom = dateFrom;
this.dateTo = dateTo;
+ this.sysConfig = sysConfig;
}
}
Modified: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGeneratorTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGeneratorTest.java 2010-10-20 14:21:42 UTC (rev 35597)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/ReportGeneratorTest.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -3,6 +3,8 @@
import java.io.StringWriter;
import org.jboss.community.sbs.plugin.reports.monthly.aggregator.Aggregator;
+import org.jboss.community.sbs.plugin.reports.monthly.config.MockAggregator;
+import org.jboss.community.sbs.plugin.reports.monthly.config.MockSystemDataConfig;
import org.jboss.community.sbs.plugin.reports.monthly.config.ProjectConfig;
import org.jboss.community.sbs.plugin.reports.monthly.config.ReportConfig;
import org.jboss.community.sbs.plugin.reports.monthly.config.SystemDataConfig;
@@ -88,53 +90,6 @@
Assert.assertEquals("P1,sbs-1,sbs-2,jira-1,jira-2,fe-1,fe-2\nP2,sbs-1,sbs-2,jira-1,jira-2,fe-1,fe-2\n", writer
.toString());
- }
-
- /**
- * Mock system data config used for {@link MockAggregator}.
- */
- protected static class MockSystemDataConfig extends SystemDataConfig {
-
- protected MockSystemDataConfig(SystemId sid) {
- super(sid);
- }
-
- }
-
- /**
- * Mock aggregator used on tests.
- */
- protected static class MockAggregator implements Aggregator<SystemDataConfig> {
-
- public SystemId system;
-
- public String prefix;
-
- public int callcount = 0;
-
- public MockAggregator(String prefix, SystemId system) {
- this.prefix = prefix;
- this.system = system;
- }
-
- public int checkCallCount() {
- int ret = callcount;
- callcount = 0;
- return ret;
- }
-
- @Override
- public String[] getHeaderValues() {
- return new String[] { prefix + "-h1", prefix + "-h2" };
- }
-
- @Override
- public String[] getReportValues(SystemDataConfig config) {
- callcount++;
- Assert.assertNotNull("config can't be null, probably bad passing of config", config);
- Assert.assertEquals(system, config.getSystem());
- return new String[] { prefix + "-1", prefix + "-2" };
- }
};
}
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockAggregator.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockAggregator.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockAggregator.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,49 @@
+package org.jboss.community.sbs.plugin.reports.monthly.config;
+
+import org.jboss.community.sbs.plugin.reports.monthly.aggregator.Aggregator;
+import org.junit.Assert;
+
+/**
+ * Mock aggregator used on unit tests.
+ */
+public class MockAggregator implements Aggregator<SystemDataConfig> {
+
+ public SystemId system;
+
+ public String prefix;
+
+ public int callcount = 0;
+
+ /**
+ * @param prefix added to generated values
+ * @param system used to check passed {@link SystemDataConfig} in {@link #getReportValues(SystemDataConfig)}
+ */
+ public MockAggregator(String prefix, SystemId system) {
+ this.prefix = prefix;
+ this.system = system;
+ }
+
+ /**
+ * Return call count and reset this counter.
+ *
+ * @return call count
+ */
+ public int checkCallCount() {
+ int ret = callcount;
+ callcount = 0;
+ return ret;
+ }
+
+ @Override
+ public String[] getHeaderValues() {
+ return new String[] { prefix + "-h1", prefix + "-h2" };
+ }
+
+ @Override
+ public String[] getReportValues(SystemDataConfig config) {
+ callcount++;
+ Assert.assertNotNull("config can't be null, probably bad passing of config", config);
+ Assert.assertEquals(system, config.getSystem());
+ return new String[] { prefix + "-1", prefix + "-2" };
+ }
+}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockSystemDataConfig.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockSystemDataConfig.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/MockSystemDataConfig.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,12 @@
+package org.jboss.community.sbs.plugin.reports.monthly.config;
+
+/**
+ * Mock system data config used for {@link MockAggregator} in unit tests.
+ */
+public class MockSystemDataConfig extends SystemDataConfig {
+
+ public MockSystemDataConfig(SystemId sid) {
+ super(sid);
+ }
+
+}
\ No newline at end of file
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfigTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfigTest.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ProjectConfigTest.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,70 @@
+package org.jboss.community.sbs.plugin.reports.monthly.config;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link ProjectConfig}.
+ *
+ * @author Vlastimil Elias (velias at redhat dot com)
+ */
+public class ProjectConfigTest {
+
+ @Test
+ public void setName() {
+ ProjectConfig tested = new ProjectConfig();
+ tested.setName(null);
+ Assert.assertNull(tested.getName());
+
+ tested.setName("");
+ Assert.assertNull(tested.getName());
+
+ tested.setName(" ");
+ Assert.assertNull(tested.getName());
+
+ tested.setName("P1");
+ Assert.assertEquals("P1", tested.getName());
+
+ tested.setName("P1 ");
+ Assert.assertEquals("P1", tested.getName());
+ }
+
+ @Test
+ public void constructor() {
+ ProjectConfig tested = new ProjectConfig(null);
+ Assert.assertNull(tested.getName());
+
+ tested = new ProjectConfig("");
+ Assert.assertNull(tested.getName());
+
+ tested = new ProjectConfig(" ");
+ Assert.assertNull(tested.getName());
+
+ tested = new ProjectConfig("P1");
+ Assert.assertEquals("P1", tested.getName());
+
+ tested = new ProjectConfig("P1 ");
+ Assert.assertEquals("P1", tested.getName());
+ }
+
+ @Test
+ public void getSystemDataConfigFor() {
+ ProjectConfig tested = new ProjectConfig();
+
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.JIRA));
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.FISHEYE));
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.SBS));
+
+ tested.addSystemDataConfig(new MockSystemDataConfig(SystemId.JIRA));
+ Assert.assertNotNull(tested.getSystemDataConfigFor(SystemId.JIRA));
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.FISHEYE));
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.SBS));
+ Assert.assertEquals(1, tested.getSystemDataConfig().size());
+
+ tested.addSystemDataConfig(new MockSystemDataConfig(SystemId.SBS));
+ Assert.assertNotNull(tested.getSystemDataConfigFor(SystemId.JIRA));
+ Assert.assertNull(tested.getSystemDataConfigFor(SystemId.FISHEYE));
+ Assert.assertNotNull(tested.getSystemDataConfigFor(SystemId.SBS));
+ Assert.assertEquals(2, tested.getSystemDataConfig().size());
+ }
+}
Added: labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigTest.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigTest.java (rev 0)
+++ labs/jbosslabs/labs-3.0-build/integration/sbs/reports/trunk/src/test/java/org/jboss/community/sbs/plugin/reports/monthly/config/ReportConfigTest.java 2010-10-20 15:02:38 UTC (rev 35598)
@@ -0,0 +1,46 @@
+package org.jboss.community.sbs.plugin.reports.monthly.config;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Unit test for {@link ReportConfig}.
+ *
+ * @author Vlastimil Elias (velias at redhat dot com)
+ */
+public class ReportConfigTest {
+
+ @Test
+ public void addProjectConfig() {
+ ReportConfig tested = new ReportConfig();
+
+ try {
+ tested.addProjectConfig(new ProjectConfig());
+ Assert.fail("IllegalArgumentException must be thrown");
+ } catch (IllegalArgumentException e) {
+ Assert.assertEquals(0, tested.getProjects().size());
+ }
+
+ try {
+ tested.addProjectConfig(new ProjectConfig(""));
+ Assert.fail("IllegalArgumentException must be thrown");
+ } catch (IllegalArgumentException e) {
+ Assert.assertEquals(0, tested.getProjects().size());
+ }
+
+ try {
+ tested.addProjectConfig(new ProjectConfig(" "));
+ Assert.fail("IllegalArgumentException must be thrown");
+ } catch (IllegalArgumentException e) {
+ Assert.assertEquals(0, tested.getProjects().size());
+ }
+
+ tested.addProjectConfig(new ProjectConfig("P1"));
+ Assert.assertEquals(1, tested.getProjects().size());
+
+ tested.addProjectConfig(new ProjectConfig("P2"));
+ Assert.assertEquals(2, tested.getProjects().size());
+
+ }
+
+}
More information about the jboss-svn-commits
mailing list