Improve e2e test with waiting enhancement

This commit is contained in:
Jakub Al-Khalili 2019-09-17 08:29:25 +02:00
parent cb1e49ea42
commit 43b75b0775
2 changed files with 30 additions and 6 deletions

View File

@ -3,15 +3,15 @@ package e2e
import (
"context"
"fmt"
"testing"
"time"
"github.com/jenkinsci/kubernetes-operator/internal/try"
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins"
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
"testing"
"time"
"github.com/bndr/gojenkins"
framework "github.com/operator-framework/operator-sdk/pkg/test"
@ -129,7 +129,18 @@ func TestPlugins(t *testing.T) {
i, err := job.InvokeSimple(map[string]string{})
require.NoError(t, err, i)
time.Sleep(time.Minute * 2)
time.Sleep(time.Second * 5)
err = try.Until(func() (end bool, err error) {
running, _ := job.IsRunning()
queued, _ := job.IsQueued()
if !running && !queued {
return true, nil
}
return false, nil
}, time.Second*5, time.Minute*2)
require.NoError(t, err)
job, err = jenkinsClient.GetJob(jobID)
require.NoError(t, err, job)

View File

@ -36,7 +36,20 @@ func TestBackupAndRestore(t *testing.T) {
require.NoError(t, err, job)
i, err := job.InvokeSimple(map[string]string{})
require.NoError(t, err, i)
time.Sleep(60 * time.Second) // wait for the build to complete
time.Sleep(time.Second * 10)
err = try.Until(func() (end bool, err error) {
t.Log("Running job...")
running, _ := job.IsRunning()
queued, _ := job.IsQueued()
if !running && !queued {
return true, nil
}
return false, nil
}, time.Second*10, time.Minute*2)
require.NoError(t, err)
restartJenkinsMasterPod(t, jenkins)
waitForRecreateJenkinsMasterPod(t, jenkins)