use of hudson.tasks.Shell in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineWithLastSuccessfulRun.
@Test
public void getPipelineWithLastSuccessfulRun() 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/");
validatePipeline(p, resp);
}
use of hudson.tasks.Shell in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelinesTest.
@Test
public void getPipelinesTest() throws Exception {
Project p2 = j.createFreeStyleProject("pipeline2");
Project p1 = j.createFreeStyleProject("pipeline1");
List<Map> responses = get("/search/?q=type:pipeline", List.class);
assertEquals(2, responses.size());
validatePipeline(p1, responses.get(0));
validatePipeline(p2, responses.get(1));
p1.getBuildersList().add(new Shell("echo hello!\nsleep 1"));
FreeStyleBuild b = (FreeStyleBuild) p1.scheduleBuild2(0).get();
j.assertBuildStatusSuccess(b);
}
use of hudson.tasks.Shell in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method testPipelineQueue.
@Test
public void testPipelineQueue() throws Exception {
FreeStyleProject p1 = j.createFreeStyleProject("pipeline1");
p1.setConcurrentBuild(true);
p1.addProperty(new ParametersDefinitionProperty(new StringParameterDefinition("test", "test")));
p1.getBuildersList().add(new Shell("echo hello!\nsleep 300"));
p1.scheduleBuild2(0).waitForStart();
p1.scheduleBuild2(0).waitForStart();
Jenkins.getInstance().getQueue().schedule(p1, 0, new ParametersAction(new StringParameterValue("test", "test1")), new CauseAction(new Cause.UserIdCause()));
Jenkins.getInstance().getQueue().schedule(p1, 0, new ParametersAction(new StringParameterValue("test", "test2")), new CauseAction(new Cause.UserIdCause()));
List queue = request().get("/organizations/jenkins/pipelines/pipeline1/queue").build(List.class);
Assert.assertEquals(2, queue.size());
Assert.assertEquals(4, ((Map) queue.get(0)).get("expectedBuildNumber"));
Assert.assertEquals(3, ((Map) queue.get(1)).get("expectedBuildNumber"));
Assert.assertEquals("Waiting for next available executor", ((Map) queue.get(0)).get("causeOfBlockage"));
Assert.assertEquals("Waiting for next available executor", ((Map) queue.get(1)).get("causeOfBlockage"));
}
use of hudson.tasks.Shell in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method getPipelineRunWithTestResult.
@Test
public void getPipelineRunWithTestResult() throws Exception {
FreeStyleProject p = j.createFreeStyleProject("pipeline4");
p.getBuildersList().add(new Shell("echo '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<testsuite xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd\" name=\"io.jenkins.blueocean.jsextensions.JenkinsJSExtensionsTest\" time=\"35.7\" tests=\"1\" errors=\"0\" skipped=\"0\" failures=\"0\">\n" + " <properties>\n" + " </properties>\n" + " <testcase name=\"test\" classname=\"io.jenkins.blueocean.jsextensions.JenkinsJSExtensionsTest\" time=\"34.09\"/>\n" + "</testsuite>' > test-result.xml"));
p.getPublishersList().add(new JUnitResultArchiver("*.xml"));
FreeStyleBuild b = p.scheduleBuild2(0).get();
TestResultAction resultAction = b.getAction(TestResultAction.class);
assertEquals("io.jenkins.blueocean.jsextensions.JenkinsJSExtensionsTest", resultAction.getResult().getSuites().iterator().next().getName());
j.assertBuildStatusSuccess(b);
Map resp = get("/organizations/jenkins/pipelines/pipeline4/runs/" + b.getId());
//discover TestResultAction super classes
get("/classes/hudson.tasks.junit.TestResultAction/");
// get junit rest report
get("/organizations/jenkins/pipelines/pipeline4/runs/" + b.getId() + "/testReport/result/");
}
use of hudson.tasks.Shell in project blueocean-plugin by jenkinsci.
the class PipelineApiTest method findPipelineRunsForAllPipelineTest.
@Test
public void findPipelineRunsForAllPipelineTest() throws IOException, ExecutionException, InterruptedException {
FreeStyleProject p1 = j.createFreeStyleProject("pipeline11");
FreeStyleProject p2 = j.createFreeStyleProject("pipeline22");
p1.getBuildersList().add(new Shell("echo hello!\nsleep 1"));
p2.getBuildersList().add(new Shell("echo hello!\nsleep 1"));
Stack<FreeStyleBuild> p1builds = new Stack<FreeStyleBuild>();
p1builds.push(p1.scheduleBuild2(0).get());
p1builds.push(p1.scheduleBuild2(0).get());
Stack<FreeStyleBuild> p2builds = new Stack<FreeStyleBuild>();
p2builds.push(p2.scheduleBuild2(0).get());
p2builds.push(p2.scheduleBuild2(0).get());
Map<String, Stack<FreeStyleBuild>> buildMap = ImmutableMap.of(p1.getName(), p1builds, p2.getName(), p2builds);
List<Map> resp = get("/search?q=type:run;organization:jenkins", List.class);
assertEquals(4, resp.size());
for (int i = 0; i < 4; i++) {
Map p = resp.get(i);
String pipeline = (String) p.get("pipeline");
assertNotNull(pipeline);
validateRun(buildMap.get(pipeline).pop(), p);
}
}
Aggregations