package hudson.plugins.performance.dsl; import hudson.model.queue.QueueTaskFuture; import hudson.slaves.DumbSlave; import org.jenkinsci.plugins.workflow.SingleJobTestBase; import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition; import org.jenkinsci.plugins.workflow.job.WorkflowJob; import org.jenkinsci.plugins.workflow.job.WorkflowRun; import org.junit.Test; import org.junit.runners.model.Statement; import java.util.Arrays; public class PerfTestDSLVariableTest extends SingleJobTestBase { @Test public void smokeTests() throws Exception { String path = getClass().getResource("/performanceTest.yml").getPath(); final String bztParams = path + ' ' + "-o modules.jmeter.plugins=[] -o services=[]"; this.story.addStep(new Statement() { public void evaluate() throws Throwable { DumbSlave s = createSlave(story.j); s.setLabelString("test performance test "); p = jenkins().createProject(WorkflowJob.class, "demo"); p.setDefinition(new CpsFlowDefinition( "node{ bzt '" + bztParams + "' }")); QueueTaskFuture<WorkflowRun> task = startBuilding(); WorkflowRun run = task.get(); String log = Arrays.toString(p.getBuilds().getLastBuild().getLog(Integer.MAX_VALUE).toArray()); // means that jenkins called method in bzt.groovy assertTrue(log.contains("No such DSL method 'performanceTest'")); } }); } }