use of hudson.model.FreeStyleBuild in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineRunStopTest.
@Test
public void getPipelineRunStopTest() throws Exception {
WorkflowJob job1 = j.jenkins.createProject(WorkflowJob.class, "pipeline1");
job1.setDefinition(new CpsFlowDefinition("" + "node {" + " stage ('Build1'); " + " sh('sleep 60') " + " stage ('Test1'); " + " echo ('Testing'); " + "}"));
WorkflowRun b1 = job1.scheduleBuild2(0).waitForStart();
Map r = null;
for (int i = 0; i < 10; i++) {
r = request().put("/organizations/jenkins/pipelines/pipeline1/runs/1/stop").build(Map.class);
if (((String) r.get("state")).equalsIgnoreCase("FINISHED"))
continue;
Thread.sleep(1000);
}
Assert.assertEquals(r.get("state"), "FINISHED");
Assert.assertEquals(r.get("result"), "ABORTED");
j.assertBuildStatus(Result.ABORTED, b1);
FreeStyleProject p = j.createFreeStyleProject("pipeline5");
p.getBuildersList().add(new Shell("echo hello!\nsleep 69"));
FreeStyleBuild b2 = p.scheduleBuild2(0).waitForStart();
for (int i = 0; i < 10; i++) {
r = put("/organizations/jenkins/pipelines/pipeline5/runs/1/stop", null);
if (((String) r.get("state")).equalsIgnoreCase("finished"))
continue;
Thread.sleep(1000);
}
Assert.assertEquals(r.get("state"), "FINISHED");
Assert.assertEquals(r.get("result"), "ABORTED");
j.assertBuildStatus(Result.ABORTED, b2);
}
use of hudson.model.FreeStyleBuild in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineRunsStopTest.
@Test
public void getPipelineRunsStopTest() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("p1");
p.getBuildersList().add(new Shell("sleep 60"));
FreeStyleBuild b = p.scheduleBuild2(0).waitForStart();
//wait till its running
do {
//sleep for 10ms
Thread.sleep(10);
} while (b.hasntStartedYet());
Map resp = put("/organizations/jenkins/pipelines/p1/runs/" + b.getId() + "/stop/?blocking=true&timeOutInSecs=2", Map.class);
assertEquals("ABORTED", resp.get("result"));
}
use of hudson.model.FreeStyleBuild in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineRunsTest.
@Test
public void getPipelineRunsTest() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("pipeline6");
p.getBuildersList().add(new Shell("echo hello!\nsleep 1"));
FreeStyleBuild b = p.scheduleBuild2(0).get();
j.assertBuildStatusSuccess(b);
List<Map> resp = get("/organizations/jenkins/pipelines/pipeline6/runs", List.class);
assertEquals(1, resp.size());
Map lr = resp.get(0);
validateRun(b, lr);
}
use of hudson.model.FreeStyleBuild in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method testArtifactsRunApi.
@Test
public void testArtifactsRunApi() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("pipeline1");
p.getBuildersList().add(new TestBuilder() {
@Override
public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
FilePath ws = build.getWorkspace();
if (ws == null) {
return false;
}
FilePath dir = ws.child("dir");
dir.mkdirs();
dir.child("fizz").write("contents", null);
dir.child("lodge").symlinkTo("fizz", listener);
return true;
}
});
ArtifactArchiver aa = new ArtifactArchiver("dir/fizz");
aa.setAllowEmptyArchive(true);
p.getPublishersList().add(aa);
FreeStyleBuild b = j.assertBuildStatusSuccess(p.scheduleBuild2(0));
List artifacts = get("/organizations/jenkins/pipelines/pipeline1/runs/" + b.getId() + "/artifacts", List.class);
assertEquals(1, artifacts.size());
assertEquals("fizz", ((Map) artifacts.get(0)).get("name"));
}
use of hudson.model.FreeStyleBuild in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineRunTest.
@Test
public void getPipelineRunTest() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("pipeline4");
p.getBuildersList().add(new Shell("echo hello!\nsleep 1"));
FreeStyleBuild b = p.scheduleBuild2(0).get();
j.assertBuildStatusSuccess(b);
Map resp = get("/organizations/jenkins/pipelines/pipeline4/runs/" + b.getId());
validateRun(b, resp);
}
Aggregations