package hudson.plugins.disk_usage.project.integration; import hudson.matrix.MatrixProject; import hudson.plugins.disk_usage.project.DiskUsagePostBuildCalculation; import hudson.plugins.disk_usage.BuildDiskUsageAction; import org.junit.Test; import hudson.model.AbstractBuild; import hudson.model.FreeStyleProject; import org.jvnet.hudson.test.JenkinsRule; import org.junit.Rule; import static org.junit.Assert.*; /** * * @author Lucie Votypkova */ public class DiskUsagePostBuildCalculationTest { @Rule public JenkinsRule j = new JenkinsRule(); @Test public void testDiskUsageIsCalculated() throws Exception{ FreeStyleProject project = j.createFreeStyleProject(); project.getPublishersList().add(new DiskUsagePostBuildCalculation()); j.buildAndAssertSuccess(project); AbstractBuild build = project.getLastBuild(); assertTrue("Disk usage of build should be calculated.", build.getAction(BuildDiskUsageAction.class).getDiskUsage() > 0); } @Test public void testDiskUsageIsNotCalculatedTwoTimes() throws Exception{ FreeStyleProject project = j.createFreeStyleProject(); project.getPublishersList().add(new DiskUsagePostBuildCalculation()); j.buildAndAssertSuccess(project); AbstractBuild build = project.getLastBuild(); assertTrue("Disk usage called by listener should be skipped.", build.getLog(10).contains("Skipping calculation of disk usage, it was already done in post build step.")); } @Test public void testDiskUsageCalculationForMatrixProject() throws Exception{ MatrixProject project = j.jenkins.createProject(MatrixProject.class, "project"); project.getPublishersList().add(new DiskUsagePostBuildCalculation()); j.buildAndAssertSuccess(project); AbstractBuild build = project.getLastBuild(); assertTrue("Disk usage of build should be calculated.", build.getAction(BuildDiskUsageAction.class).getDiskUsage() > 0); } }