From a5a8471788a0ab4246f7d322aeeb4e06ce214cb2 Mon Sep 17 00:00:00 2001 From: Max Laverse Date: Tue, 17 Jul 2018 00:16:58 +0200 Subject: [PATCH] Improve disposal test on failure --- .../plugins/kubernetes/cli/KubectlBuildStepTest.java | 6 +++--- .../plugins/kubernetes/cli/mockedKubectl.groovy | 1 + .../plugins/kubernetes/cli/mockedKubectlFailure.groovy | 9 +++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectlFailure.groovy diff --git a/src/test/java/org/jenkinsci/plugins/kubernetes/cli/KubectlBuildStepTest.java b/src/test/java/org/jenkinsci/plugins/kubernetes/cli/KubectlBuildStepTest.java index 4a31a94..e5e9ad2 100644 --- a/src/test/java/org/jenkinsci/plugins/kubernetes/cli/KubectlBuildStepTest.java +++ b/src/test/java/org/jenkinsci/plugins/kubernetes/cli/KubectlBuildStepTest.java @@ -86,11 +86,11 @@ public void testUsernamePasswordWithSpace() throws Exception { public void testKubeConfigDisposed() throws Exception { CredentialsProvider.lookupStores(r.jenkins).iterator().next().addCredentials(Domain.global(), usernamePasswordCredentialWithSpace(CREDENTIAL_ID)); - WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "testUsernamePasswordWithSpace"); - p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true)); + WorkflowJob p = r.jenkins.createProject(WorkflowJob.class, "testCleanupOnFailure"); + p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectlFailure.groovy"), true)); WorkflowRun b = p.scheduleBuild2(0).waitForStart(); assertNotNull(b); - r.assertBuildStatusSuccess(r.waitForCompletion(b)); + r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b)); r.assertLogContains("kubectl configuration cleaned up", b); } diff --git a/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectl.groovy b/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectl.groovy index af5cbf2..18cb0bf 100644 --- a/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectl.groovy +++ b/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectl.groovy @@ -2,6 +2,7 @@ node{ label "mocked-kubectl" stage('Run') { withKubeConfig([credentialsId: 'cred1234', serverUrl: 'https://localhost:6443']) { + sleep(1) echo "File has been configured '${env.KUBECONFIG}'" } } diff --git a/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectlFailure.groovy b/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectlFailure.groovy new file mode 100644 index 0000000..989a37b --- /dev/null +++ b/src/test/resources/org/jenkinsci/plugins/kubernetes/cli/mockedKubectlFailure.groovy @@ -0,0 +1,9 @@ +node{ + label "mocked-kubectl" + stage('Run') { + withKubeConfig([credentialsId: 'cred1234', serverUrl: 'https://localhost:6443']) { + sleep(1) + error("Build failed because of this and that..") + } + } +}