Skip to content

Commit

Permalink
Make tests more stable
Browse files Browse the repository at this point in the history
  • Loading branch information
maxlaverse committed Feb 24, 2019
1 parent 3e21e97 commit 96d9f19
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 10 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -56,7 +56,7 @@
<maven-jacoco.version>0.8.1</maven-jacoco.version>

<!-- parent override -->
<surefire.rerunFailingTestsCount>3</surefire.rerunFailingTestsCount>
<surefire.rerunFailingTestsCount>0</surefire.rerunFailingTestsCount>
</properties>

<dependencies>
Expand Down
Expand Up @@ -40,7 +40,7 @@ public void testScopedCredentials() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatusSuccess(r.waitForCompletion(b));
waitForResult(b, Result.SUCCESS);
}

@Test
Expand All @@ -52,7 +52,7 @@ public void testMissingScopedCredentials() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b));
waitForResult(b, Result.FAILURE);
r.assertLogContains("ERROR: No credentials found for id \"cred1234\"", b);
}

Expand All @@ -64,7 +64,7 @@ public void testSecretWithSpace() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatusSuccess(r.waitForCompletion(b));
waitForResult(b, Result.SUCCESS);
r.assertLogNotContains("with-space", b);
r.assertLogNotContains("s3cr3t", b);
}
Expand All @@ -77,7 +77,7 @@ public void testUsernamePasswordWithSpace() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatusSuccess(r.waitForCompletion(b));
waitForResult(b, Result.SUCCESS);
r.assertLogNotContains("with-passwordspace", b);
r.assertLogNotContains("s3cr3t", b);
}
Expand All @@ -90,7 +90,7 @@ public void testKubeConfigDisposed() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectlFailure.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b));
waitForResult(b, Result.FAILURE);
r.assertLogContains("kubectl configuration cleaned up", b);
}

Expand All @@ -100,7 +100,7 @@ public void testCredentialNotProvided() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectlWithEmptyCredential.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b));
waitForResult(b, Result.FAILURE);
r.assertLogContains("ERROR: No credentials defined to setup Kubernetes CLI", b);
}

Expand All @@ -112,7 +112,7 @@ public void testUnsupportedCredential() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b));
waitForResult(b, Result.FAILURE);
r.assertLogContains("ERROR: Unsupported Credentials type org.jenkinsci.plugins.kubernetes.cli.utils.UnsupportedCredential", b);
}

Expand Down Expand Up @@ -140,7 +140,7 @@ public void testInvalidCertificate() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.FAILURE, r.waitForCompletion(b));
waitForResult(b, Result.FAILURE);
r.assertLogContains("ERROR: Uninitialized keystore", b);
}

Expand All @@ -152,7 +152,15 @@ public void testServerProvidedWithFileCredential() throws Exception {
p.setDefinition(new CpsFlowDefinition(loadResource("mockedKubectl.groovy"), true));
WorkflowRun b = p.scheduleBuild2(0).waitForStart();
assertNotNull(b);
r.assertBuildStatus(Result.SUCCESS, r.waitForCompletion(b));
waitForResult(b, Result.SUCCESS);
r.assertLogContains("the serverUrl will be ignored as a raw kubeconfig file was provided", b);
}

private void waitForResult(WorkflowRun b, Result result) throws Exception {
r.assertBuildStatus(result, r.waitForCompletion(b));

// Because else Jenkins would not always show all the logs
Thread.sleep(1000);
}

}

0 comments on commit 96d9f19

Please sign in to comment.