You've already forked jenkins-lib
forked from jenkins/jenkins-lib
62 lines
1.7 KiB
Groovy
62 lines
1.7 KiB
Groovy
import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition
|
|
import org.jenkinsci.plugins.workflow.job.WorkflowJob
|
|
import org.junit.Before
|
|
import org.junit.Rule
|
|
import org.junit.Test
|
|
import org.jvnet.hudson.test.JenkinsRule
|
|
|
|
class cmdTest {
|
|
|
|
@Rule
|
|
public JenkinsRule rule = new JenkinsRule()
|
|
|
|
@Before
|
|
void configureGlobalGitLibraries() {
|
|
RuleBootstrapper.setup(rule)
|
|
}
|
|
|
|
@Test
|
|
void "cmd should echo something"() {
|
|
def pipeline = '''
|
|
pipeline {
|
|
agent any
|
|
stages {
|
|
stage('test') {
|
|
steps {
|
|
cmd("echo helloWorld")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
'''.stripIndent()
|
|
final CpsFlowDefinition flow = new CpsFlowDefinition(pipeline, true)
|
|
final WorkflowJob workflowJob = rule.createProject(WorkflowJob, 'project')
|
|
workflowJob.definition = flow
|
|
|
|
rule.assertLogContains('helloWorld', rule.buildAndAssertSuccess(workflowJob))
|
|
}
|
|
|
|
@Test
|
|
void "cmd should return status"() {
|
|
def pipeline = '''
|
|
pipeline {
|
|
agent any
|
|
stages {
|
|
stage('test') {
|
|
steps {
|
|
script {
|
|
def status = cmd("false", true)
|
|
echo "status = $status"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
'''.stripIndent()
|
|
final CpsFlowDefinition flow = new CpsFlowDefinition(pipeline, true)
|
|
final WorkflowJob workflowJob = rule.createProject(WorkflowJob, 'project')
|
|
workflowJob.definition = flow
|
|
|
|
rule.assertLogContains('status = 1', rule.buildAndAssertSuccess(workflowJob))
|
|
}
|
|
} |