package hudson.drools; import junit.framework.Assert; import org.jvnet.hudson.test.FailureBuilder; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.SubmittableElement; import hudson.model.FreeStyleProject; import hudson.model.Result; public class CancelBuildTest extends DroolsTestCase { public void testCancel() throws Exception { DroolsProject wf = createProject("SimpleProject", "SimpleProjectTest-1.rf"); FreeStyleProject project1 = hudson.createProject( FreeStyleProject.class, "Project1"); // to make sure the workflow does not complete project1.getBuildersList().add(new FailureBuilder()); wf.scheduleBuild(0); assertBuildResult(wf, Result.SUCCESS, 1); Assert.assertTrue(wf.getLastBuild().isRunning()); HtmlPage page = new WebClient().goTo(wf.getLastBuild().getUrl() + "/cancel"); HtmlForm form = (HtmlForm) page.getFirstByXPath("//form[@action='doCancel']"); form.submit((SubmittableElement) form.getFirstByXPath("//button")); Assert.assertTrue(wf.getLastBuild().isAborted()); } }