r266 - in trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin: . announcement report
Author: tchemit Date: 2012-07-12 15:45:58 +0200 (Thu, 12 Jul 2012) New Revision: 266 Url: http://nuiton.org/repositories/revision/jredmine/266 Log: improve mojo tests (to be continued...) Added: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/FakeRedmineServiceConfiguration.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/JRedminePluginFixtures.java Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/AbstractRedmineMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/DisplayDataMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/GenerateChangesMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/NextVersionMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishNewsMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/UpdateVersionMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateEmailAnnouncementMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateNewsAnnouncementMojoTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReportTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByAssigneeTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategoryTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByPriorityTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByReporterTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByStatusTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByTrackerTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByVersionTest.java trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportTest.java Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/AbstractRedmineMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/AbstractRedmineMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/AbstractRedmineMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -27,85 +27,136 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.maven.model.IssueManagement; +import org.codehaus.plexus.util.StringUtils; import org.junit.After; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.Assume; import org.junit.BeforeClass; -import org.nuiton.jredmine.TestHelper; +import org.nuiton.jredmine.RedmineServiceConfiguration; +import org.nuiton.jredmine.model.Project; +import org.nuiton.jredmine.model.Version; import org.nuiton.plugin.AbstractMojoTest; import java.io.File; -import java.io.IOException; /** - * @author chemit + * Abstract mojo test. + * * @param <P> type of mojo to test + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ -public abstract class AbstractRedmineMojoTest<P extends AbstractRedmineMojo> extends AbstractMojoTest<P> { +public abstract class AbstractRedmineMojoTest<P extends AbstractRedmineMojo> + extends AbstractMojoTest<P> { + /** Logger */ + private static final Log log = + LogFactory.getLog(AbstractRedmineMojoTest.class); + /** - * Logger + * Fixtures for tests. + * + * @since 1.4 */ - private static final Log log = LogFactory.getLog(AbstractRedmineMojoTest.class); + protected static JRedminePluginFixtures fixtures; + /** + * Flag to know which configuration is need (anonymous or loggued). + * + * @since 1.4 + */ + protected final boolean anonynous; + + protected boolean canContinue; + @BeforeClass - public static void atTheBegining() throws IOException { + public static void beforeClass() { + fixtures = new JRedminePluginFixtures(); + } - // load default configuration - TestHelper.initDefaultConfiguration(); - // load basedir - TestHelper.getBasedir(); + @AfterClass + public static void afterClass() { + fixtures = null; } - protected boolean canContinue; + @After + public void tearDown() throws Exception { + P mojo = getMojo(); + if (mojo != null) { + mojo.afterExecute(); + } + } - protected void beforeMojoInit(P mojo, File pomFile) throws Exception { - // add a issue management - IssueManagement i = new IssueManagement(); - i.setSystem(AbstractRedmineMojo.REDMINE_SYSTEM); - i.setUrl(mojo.getRestUrl() + "/projects/one/issues"); - mojo.getProject().setIssueManagement(i); + protected AbstractRedmineMojoTest() { + this(true); } + protected AbstractRedmineMojoTest(boolean anonynous) { + this.anonynous = anonynous; + } + @Override - protected void setUpMojo(P mojo, File pomFile) throws Exception { + protected void setUpMojo(P mojo, File pomFile) + throws Exception { super.setUpMojo(mojo, pomFile); + RedmineServiceConfiguration configuration; + + if (anonynous) { + configuration = fixtures.getAnonymousConfiguration(); + } else { + configuration = fixtures.getLogguedConfiguration(); + + if (StringUtils.isEmpty(configuration.getRestUsername()) || + StringUtils.isEmpty(configuration.getRestPassword())) { + + if (log.isWarnEnabled()) { + log.warn("Loggued configuration is required, but not found " + + "login nor password"); + } + canContinue = false; + return; + } + } + mojo.setAnonymous(anonynous); + // copy redmine test server configuration - TestHelper.copyConfiguration(TestHelper.getTestConfiguration(), mojo); + fixtures.copyConfiguration(configuration, mojo); - beforeMojoInit(mojo, pomFile); + // copy issue management to project + IssueManagement i = fixtures.getIssumeManagement(); + mojo.getProject().setIssueManagement(i); + Project project = fixtures.getProject(); + mojo.setProjectId(project.getName()); + + Version version = fixtures.getVersion(); + mojo.setVersionId(version.getName()); + try { mojo.init(); canContinue = mojo.checkSkip(); if (!canContinue) { if (log.isInfoEnabled()) { - log.info("The goal was marked as to be skip, the test is done."); + log.info("The goal was marked as to be skip, " + + "the test is done."); } return; } } catch (Exception e) { - log.error(e); + log.warn("setup was not successfull, will skip this test [" + + getClass() + "]", e); canContinue = false; } if (canContinue) { if (mojo.isVerbose()) { log.info("setup done for " + mojo.getProject().getFile().getName()); } - } else { - log.warn("setup was not successfull, will skip this test [" + getClass() + "]"); } + Assume.assumeTrue(canContinue); } - @After - public void tearDown() throws Exception { - P mojo = getMojo(); - if (mojo != null) { - mojo.closeService(); - } - } - protected void mojoDoAction() throws Exception { if (!canContinue) { return; @@ -118,4 +169,5 @@ mojo.afterExecute(); } } + } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/DisplayDataMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/DisplayDataMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/DisplayDataMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -27,7 +27,9 @@ import org.junit.Test; /** - * @author tchemit + * Tests the {@link DisplayDataMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class DisplayDataMojoTest extends AbstractRedmineMojoTest<DisplayDataMojo> { Copied: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/FakeRedmineServiceConfiguration.java (from rev 257, trunk/jredmine-client/src/test/java/org/nuiton/jredmine/FakeRedmineServiceConfiguration.java) =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/FakeRedmineServiceConfiguration.java (rev 0) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/FakeRedmineServiceConfiguration.java 2012-07-12 13:45:58 UTC (rev 266) @@ -0,0 +1,105 @@ +package org.nuiton.jredmine.plugin; + +import org.apache.commons.lang.builder.ToStringBuilder; +import org.apache.commons.lang.builder.ToStringStyle; +import org.nuiton.jredmine.RedmineServiceConfiguration; + +import java.net.URL; + +/** + * Configuration of a redmine service for test purposes. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.4 + */ +public class FakeRedmineServiceConfiguration implements RedmineServiceConfiguration { + + URL restUrl; + + String restUsername; + + String restPassword; + + boolean verbose; + + boolean anonymous; + + String encoding; + + @Override + public String getEncoding() { + return encoding; + } + + @Override + public void setEncoding(String encoding) { + this.encoding = encoding; + } + + @Override + public String getRestPassword() { + return restPassword; + } + + @Override + public void setRestPassword(String restPassword) { + this.restPassword = restPassword; + } + + @Override + public URL getRestUrl() { + return restUrl; + } + + @Override + public void setRestUrl(URL restUrl) { + this.restUrl = restUrl; + } + + @Override + public String getRestUsername() { + return restUsername; + } + + @Override + public void setRestUsername(String restUsername) { + this.restUsername = restUsername; + } + + @Override + public boolean isVerbose() { + return verbose; + } + + @Override + public void setVerbose(boolean verbose) { + this.verbose = verbose; + } + + @Override + public boolean isAnonymous() { + return anonymous; + } + + @Override + public void setAnonymous(boolean anonymous) { + this.anonymous = anonymous; + } + + @Override + public String toString() { + ToStringBuilder b = new ToStringBuilder(this, + ToStringStyle.MULTI_LINE_STYLE + ); + b.append("redmineUrl", restUrl); + if (anonymous) { + b.append("anonymous", true); + } else { + b.append("redmineUsername", restUsername); + b.append("redminePassword", "***"); + } + b.append("encoding", encoding); + b.append("verbose", verbose); + return b.toString(); + } +} Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/GenerateChangesMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/GenerateChangesMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/GenerateChangesMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -27,7 +27,9 @@ import org.junit.Test; /** - * @author tchemit + * Tests the {@link GenerateChangesMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class GenerateChangesMojoTest extends AbstractRedmineMojoTest<GenerateChangesMojo> { @@ -37,10 +39,13 @@ return "generate-changes"; } + public GenerateChangesMojoTest() { + super(false); + } + @Test public void generateChanges() throws Exception { - mojoDoAction(); //TODO check file is generated } Added: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/JRedminePluginFixtures.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/JRedminePluginFixtures.java (rev 0) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/JRedminePluginFixtures.java 2012-07-12 13:45:58 UTC (rev 266) @@ -0,0 +1,162 @@ +package org.nuiton.jredmine.plugin; + +import com.google.common.base.Charsets; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.maven.model.IssueManagement; +import org.nuiton.jredmine.RedmineServiceConfiguration; +import org.nuiton.jredmine.model.Project; +import org.nuiton.jredmine.model.Version; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.Properties; + +/** + * Fixtures to test the goals of the jredmine-maven-plugin. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.5 + */ +public class JRedminePluginFixtures { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(JRedminePluginFixtures.class); + + private RedmineServiceConfiguration anonymousConfiguration; + + private RedmineServiceConfiguration logguedConfiguration; + + public RedmineServiceConfiguration getAnonymousConfiguration() + throws IOException { + if (anonymousConfiguration == null) { + + Properties props = new Properties(); + + InputStream inputStream = null; + try { + String jredmineConfiguration = + System.getenv("jredmine-test.properties"); + if (jredmineConfiguration == null) { + if (log.isWarnEnabled()) { + log.warn("Could not find environement variable " + + "'jredmine-test.properties' will use " + + "default test configuration"); + } + + inputStream = getClass().getResourceAsStream( + "/test-config.properties"); + } else { + + File file = new File(jredmineConfiguration); + + if (!file.exists()) { + throw new IllegalStateException( + "Could not find " + jredmineConfiguration + + " file"); + } + inputStream = FileUtils.openInputStream(file); + } + props.load(inputStream); + } finally { + if (inputStream != null) { + inputStream.close(); + } + } + anonymousConfiguration = new FakeRedmineServiceConfiguration(); + + String url = props.getProperty("test.redmineUrl"); + anonymousConfiguration.setRestUrl(new URL(url)); + + String e = props.getProperty("test.encoding"); + anonymousConfiguration.setEncoding(e); + + String verbose = props.getProperty("test.verbose"); + if (StringUtils.isNotEmpty(verbose)) { + anonymousConfiguration.setVerbose(Boolean.valueOf(verbose)); + } + anonymousConfiguration.setEncoding(Charsets.UTF_8.name()); + anonymousConfiguration.setAnonymous(true); + } + return anonymousConfiguration; + } + + public RedmineServiceConfiguration getLogguedConfiguration() + throws IOException { + if (logguedConfiguration == null) { + + // use anonymous configuration + + RedmineServiceConfiguration anoConf = getAnonymousConfiguration(); + if (anoConf != null) { + logguedConfiguration = new FakeRedmineServiceConfiguration(); + copyConfiguration(anoConf, logguedConfiguration); + + // get system login password from env + String login = System.getenv("jredmine-test.login"); + String password = System.getenv("jredmine-test.password"); + logguedConfiguration.setRestUsername(login); + logguedConfiguration.setRestPassword(password); + logguedConfiguration.setAnonymous(false); + } + } + return logguedConfiguration; + } + + public Project getProject() { + Project project = new Project(); + project.setName("jredmine"); + project.setIdentifier("jredmine"); + project.setIsPublic(true); + project.setHomepage("http://maven-site.nuiton.org/jredmine"); + project.setDescription( + "Permet de communiquer en java avec un serveur " + + "redmine qui a installé le plugin rails jredmine"); + project.setId(36); + project.setStatus(1); + return project; + } + + public Version getVersion() { + Version version = new Version(); + version.setName("1.3"); + version.setId(295); + version.setProjectId(36); + return version; + } + + + public IssueManagement getIssumeManagement() + throws Exception { + // add a issue management + IssueManagement i = new IssueManagement(); + i.setSystem(AbstractRedmineMojo.REDMINE_SYSTEM); + i.setUrl(getAnonymousConfiguration().getRestUrl() + + "/projects/jredmine/issues"); + return i; + } + + public void copyConfiguration(RedmineServiceConfiguration src, + RedmineServiceConfiguration dst) { + if (src.getRestUrl() != null) { + dst.setRestUrl(src.getRestUrl()); + } + if (src.getRestUsername() != null) { + dst.setRestUsername(src.getRestUsername()); + } + if (src.getRestPassword() != null) { + dst.setRestPassword(src.getRestPassword()); + } + if (src.getEncoding() != null) { + dst.setEncoding(src.getEncoding()); + } + + dst.setVerbose(src.isVerbose()); + dst.setAnonymous(src.isAnonymous()); + } +} Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/NextVersionMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/NextVersionMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/NextVersionMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -24,14 +24,22 @@ */ package org.nuiton.jredmine.plugin; +import org.junit.Ignore; import org.junit.Test; /** - * @author tchemit + * Tests the {@link NextVersionMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ +@Ignore public class NextVersionMojoTest extends AbstractRedmineMojoTest<NextVersionMojo> { + public NextVersionMojoTest() { + super(false); + } + @Override protected String getGoalName(String methodName) { return "next-version"; @@ -40,12 +48,12 @@ @Test public void nextVersion() throws Exception { - mojoDoAction(); + getMojo().doAction(); } @Test public void skipNextVersion() throws Exception { - mojoDoAction(); + getMojo().doAction();; } } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishAttachmentsMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -24,14 +24,22 @@ */ package org.nuiton.jredmine.plugin; +import org.junit.Ignore; import org.junit.Test; /** - * @author tchemit + * Tests the {@link PublishAttachmentsMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ +@Ignore public class PublishAttachmentsMojoTest extends AbstractRedmineMojoTest<PublishAttachmentsMojo> { + public PublishAttachmentsMojoTest() { + super(false); + } + @Override protected String getGoalName(String methodName) { return "publish-attachments"; @@ -40,12 +48,12 @@ @Test public void publishAttachments() throws Exception { - mojoDoAction(); + getMojo().doAction(); } @Test public void skipPublishAttachments() throws Exception { - mojoDoAction(); + getMojo().doAction(); } } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishNewsMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishNewsMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/PublishNewsMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -24,14 +24,22 @@ */ package org.nuiton.jredmine.plugin; +import org.junit.Ignore; import org.junit.Test; /** - * @author tchemit + * Tests the {@link PublishNewsMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ +@Ignore public class PublishNewsMojoTest extends AbstractRedmineMojoTest<PublishNewsMojo> { + public PublishNewsMojoTest() { + super(false); + } + @Override protected String getGoalName(String methodName) { return "publish-news"; @@ -40,12 +48,12 @@ @Test public void publishNews() throws Exception { - mojoDoAction(); + getMojo().doAction(); } @Test public void skipPublishNews() throws Exception { - mojoDoAction(); + getMojo().doAction(); } } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/UpdateVersionMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/UpdateVersionMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/UpdateVersionMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -24,14 +24,22 @@ */ package org.nuiton.jredmine.plugin; +import org.junit.Ignore; import org.junit.Test; /** - * @author tchemit + * Tests the {@link UpdateVersionMojo} mojo. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ +@Ignore public class UpdateVersionMojoTest extends AbstractRedmineMojoTest<UpdateVersionMojo> { + public UpdateVersionMojoTest() { + super(false); + } + @Override protected String getGoalName(String methodName) { return "update-version"; @@ -40,12 +48,12 @@ @Test public void updateVersion() throws Exception { - mojoDoAction(); + getMojo().doAction(); } @Test public void skipUpdateVersion() throws Exception { - mojoDoAction(); + getMojo().doAction(); } } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateEmailAnnouncementMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateEmailAnnouncementMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateEmailAnnouncementMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -28,8 +28,8 @@ import org.nuiton.jredmine.plugin.AbstractRedmineMojoTest; /** - * - * @author chemit + * Tests the {@link GenerateEmailAnnouncementMojo} mojo. + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class GenerateEmailAnnouncementMojoTest extends AbstractRedmineMojoTest<GenerateEmailAnnouncementMojo> { @@ -39,6 +39,10 @@ return "generate-email-announcement"; } + public GenerateEmailAnnouncementMojoTest() { + super(false); + } + @Test public void generateEmailAnnouncement() throws Exception { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateNewsAnnouncementMojoTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateNewsAnnouncementMojoTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/announcement/GenerateNewsAnnouncementMojoTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -28,8 +28,9 @@ import org.nuiton.jredmine.plugin.AbstractRedmineMojoTest; /** + * Tests the {@link GenerateNewsAnnouncementMojo} mojo. * - * @author chemit + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class GenerateNewsAnnouncementMojoTest extends AbstractRedmineMojoTest<GenerateNewsAnnouncementMojo> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReportTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReportTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/AbstractIssuesReportTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -24,13 +24,23 @@ */ package org.nuiton.jredmine.plugin.report; -import org.junit.Assume; +import junit.framework.Assert; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.ArtifactRepositoryFactory; +import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; +import org.apache.maven.artifact.repository.DefaultArtifactRepositoryFactory; +import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; import org.junit.Test; import org.nuiton.jredmine.plugin.AbstractRedmineMojoTest; +import org.nuiton.plugin.TestHelper; +import java.io.File; + /** + * Abstract report test. + * * @param <P> type of issue reports to test - * @author tchemit + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public abstract class AbstractIssuesReportTest<P extends AbstractIssuesReport> extends AbstractRedmineMojoTest<P> { @@ -38,20 +48,37 @@ @Test public void issueReport() throws Exception { - mojoDoreport(); + mojoDoAction(); checkDoreport(); } - protected void mojoDoreport() throws Exception { + protected void checkDoreport() throws Exception { + //TODO do some tests : file is generated - Assume.assumeTrue(canContinue); - - //TODO make this possible - //getMojo().executeReport(Locale.FRENCH); + String outputName = getMojo().getOutputName()+".html"; + File reportFile = new File(getMojo().outputDirectory, outputName); + Assert.assertTrue(reportFile.exists()); } - protected void checkDoreport() throws Exception { - //TODO do some tests : file is generated + @Override + protected void setUpMojo(P mojo, File pomFile) throws Exception { + super.setUpMojo(mojo, pomFile); + + mojo.outputDirectory = new File("target" + File.separator + "surefire-workdir" + File.separator + getClass().getName()); + + ArtifactRepositoryFactory f = (ArtifactRepositoryFactory) TestHelper.getDelegateMojoTest().getContainer().lookup( + DefaultArtifactRepositoryFactory.ROLE + ); + + ArtifactRepository local = f.createArtifactRepository( + "local", + "file://" + new File("target" + File.separator + "myRepo").getAbsolutePath(), + new DefaultRepositoryLayout(), + new ArtifactRepositoryPolicy(), + new ArtifactRepositoryPolicy()); + + getMojo().localRepository = local; + } } Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByAssigneeTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByAssigneeTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByAssigneeTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByAssigneeTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategoryTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategoryTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByCategoryTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByCategoryTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByPriorityTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByPriorityTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByPriorityTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByPriorityTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByReporterTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByReporterTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByReporterTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByReporterTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByStatusTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByStatusTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByStatusTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByStatusTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByTrackerTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByTrackerTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByTrackerTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByTrackerTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByVersionTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByVersionTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportByVersionTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,7 +25,9 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReportByAssignee} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ public class IssuesReportByVersionTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { Modified: trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportTest.java =================================================================== --- trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportTest.java 2012-07-12 13:35:20 UTC (rev 265) +++ trunk/jredmine-maven-plugin/src/test/java/org/nuiton/jredmine/plugin/report/IssuesReportTest.java 2012-07-12 13:45:58 UTC (rev 266) @@ -25,10 +25,12 @@ package org.nuiton.jredmine.plugin.report; /** - * @author tchemit + * Tests the {@link IssuesReport} report. + * + * @author tchemit <chemit@codelutin.com> * @since 1.0.0 */ -public class IssuesReportTest extends AbstractIssuesReportTest<IssuesReportByAssignee> { +public class IssuesReportTest extends AbstractIssuesReportTest<IssuesReport> { @Override protected String getGoalName(String methodName) {
participants (1)
-
tchemit@users.nuiton.org