package hudson.drools;
import hudson.model.FreeStyleProject;
import hudson.model.Result;
public class RuleFlowRendererTest extends DroolsTestCase {
public void testWorkflow1() throws Exception {
DroolsProject wf = createProject("SimpleProject",
"SimpleProjectTest-1.rf");
FreeStyleProject project1 = hudson.createProject(
FreeStyleProject.class, "Project1");
wf.scheduleBuild(0);
assertBuildResult(wf, Result.SUCCESS, 1);
assertBuildResult(project1, Result.SUCCESS, 1);
WebClient wc = new WebClient();
wc.goTo(wf.getUrl() + "/processImage", "image/png");
wc.goTo(wf.getLastBuild().getUrl() + "/processInstanceImage",
"image/png");
}
public void testWorkflow2() throws Exception {
DroolsProject wf = createProject("staging-3", "staging-3.rf");
FreeStyleProject build = hudson.createProject(FreeStyleProject.class,
"Build");
FreeStyleProject test = hudson.createProject(FreeStyleProject.class,
"Automated Test");
FreeStyleProject test2 = hudson.createProject(FreeStyleProject.class,
"Another Automated Test");
DroolsManagement.getInstance().getScripts().add(
new Script("DeployStagedRelease", ""));
wf.scheduleBuild(0);
WebClient wc = new WebClient();
wc.goTo(wf.getUrl() + "/processImage", "image/png");
wc.goTo(wf.getLastBuild().getUrl() + "/processInstanceImage",
"image/png");
waitForWorkflowComplete(wf, 1);
wc.goTo(wf.getLastBuild().getUrl() + "/processInstanceImage",
"image/png");
}
public void testWorkflow3() throws Exception {
DroolsProject wf = createProject("release-vote", "release-vote.rf");
FreeStyleProject build = hudson.createProject(FreeStyleProject.class,
"Build");
DroolsManagement.getInstance().getScripts().add(
new Script("DeployStagedRelease", ""));
WebClient wc = new WebClient();
wc.goTo(wf.getUrl() + "/processImage", "image/png");
wf.scheduleBuild(0);
assertBuildResult(wf, Result.SUCCESS, 1);
wc.goTo(wf.getLastBuild().getUrl() + "/processInstanceImage",
"image/png");
wf.getLastBuild().cancel();
}
}