use of hudson.model.FreeStyleProject 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.FreeStyleProject in project blueocean-plugin by jenkinsci.
the class MultiBranchTest method getMultiBranchPipelines.
@Test
public void getMultiBranchPipelines() throws IOException, ExecutionException, InterruptedException {
Assume.assumeTrue(runAllTests());
WorkflowMultiBranchProject mp = j.jenkins.createProject(WorkflowMultiBranchProject.class, "p");
FreeStyleProject f = j.jenkins.createProject(FreeStyleProject.class, "f");
mp.getSourcesList().add(new BranchSource(new GitSCMSource(null, sampleRepo.toString(), "", "*", "", false), new DefaultBranchPropertyStrategy(new BranchProperty[0])));
for (SCMSource source : mp.getSCMSources()) {
assertEquals(mp, source.getOwner());
}
mp.scheduleBuild2(0).getFuture().get();
List<Map> resp = get("/organizations/jenkins/pipelines/", List.class);
Assert.assertEquals(2, resp.size());
validatePipeline(f, resp.get(0));
validateMultiBranchPipeline(mp, resp.get(1), 3);
Assert.assertEquals(mp.getBranch("master").getBuildHealth().getScore(), resp.get(0).get("weatherScore"));
}
use of hudson.model.FreeStyleProject in project blueocean-plugin by jenkinsci.
the class MultiBranchTest method getBranchWithEncodedPath.
@Test
public void getBranchWithEncodedPath() throws IOException, ExecutionException, InterruptedException {
Assume.assumeTrue(runAllTests());
WorkflowMultiBranchProject mp = j.jenkins.createProject(WorkflowMultiBranchProject.class, "p");
FreeStyleProject f = j.jenkins.createProject(FreeStyleProject.class, "f");
mp.getSourcesList().add(new BranchSource(new GitSCMSource(null, sampleRepo.toString(), "", "*", "", false), new DefaultBranchPropertyStrategy(new BranchProperty[0])));
for (SCMSource source : mp.getSCMSources()) {
assertEquals(mp, source.getOwner());
}
mp.scheduleBuild2(0).getFuture().get();
List<Map> resp = get("/organizations/jenkins/pipelines/p/branches/", List.class);
String href = null;
for (Map r : resp) {
if (r.get("name").equals("feature%2Fux-1")) {
href = (String) ((Map) ((Map) r.get("_links")).get("self")).get("href");
href = StringUtils.substringAfter(href, "/blue/rest");
}
}
Assert.assertNotNull(href);
Map r = get(href);
Assert.assertEquals("feature%2Fux-1", r.get("name"));
}
use of hudson.model.FreeStyleProject 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.FreeStyleProject in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method parameterizedFreestyleTest.
@Test
public void parameterizedFreestyleTest() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("pp");
p.addProperty(new ParametersDefinitionProperty(new StringParameterDefinition("version", "1.0", "version number")));
p.getBuildersList().add(new Shell("echo hello!"));
Map resp = get("/organizations/jenkins/pipelines/pp/");
List<Map<String, Object>> parameters = (List<Map<String, Object>>) resp.get("parameters");
assertEquals(1, parameters.size());
assertEquals("version", parameters.get(0).get("name"));
assertEquals("StringParameterDefinition", parameters.get(0).get("type"));
assertEquals("version number", parameters.get(0).get("description"));
assertEquals("1.0", ((Map) parameters.get(0).get("defaultParameterValue")).get("value"));
validatePipeline(p, resp);
resp = post("/organizations/jenkins/pipelines/pp/runs/", ImmutableMap.of("parameters", ImmutableList.of(ImmutableMap.of("name", "version", "value", "2.0"))), 200);
assertEquals("pp", resp.get("pipeline"));
Thread.sleep(1000);
resp = get("/organizations/jenkins/pipelines/pp/runs/1/");
assertEquals("SUCCESS", resp.get("result"));
assertEquals("FINISHED", resp.get("state"));
}
Aggregations