mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-17 21:35:38 +02:00
Initial version of jobs API
This commit is contained in:
@@ -4,10 +4,15 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
|
||||
"github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/configuration/user/seedjobs"
|
||||
|
||||
"github.com/bndr/gojenkins"
|
||||
framework "github.com/operator-framework/operator-sdk/pkg/test"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
|
||||
"context"
|
||||
)
|
||||
|
||||
func TestUserConfiguration(t *testing.T) {
|
||||
@@ -16,14 +21,17 @@ func TestUserConfiguration(t *testing.T) {
|
||||
// Deletes test namespace
|
||||
defer ctx.Cleanup()
|
||||
|
||||
// base
|
||||
jenkins := createJenkinsCRWithSeedJob(t, namespace)
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
waitForJenkinsUserConfigurationToComplete(t, jenkins)
|
||||
client := verifyJenkinsAPIConnection(t, jenkins)
|
||||
verifyJenkinsSeedJobs(t, client)
|
||||
|
||||
// user
|
||||
waitForJenkinsUserConfigurationToComplete(t, jenkins)
|
||||
verifyJenkinsSeedJobs(t, client, jenkins)
|
||||
}
|
||||
|
||||
func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins) {
|
||||
func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins, jenkins *virtuslabv1alpha1.Jenkins) {
|
||||
// check if job has been configured and executed successfully
|
||||
err := wait.Poll(time.Second*10, time.Minute*2, func() (bool, error) {
|
||||
t.Logf("Attempting to get configure seed job status '%v'", seedjobs.ConfigureSeedJobsName)
|
||||
@@ -54,4 +62,21 @@ func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins) {
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't verify if seed job has been created '%v'", err)
|
||||
}
|
||||
|
||||
// verify Jenkins.Status.Builds
|
||||
// WARNING this use case depends on changes in https://github.com/VirtusLab/jenkins-operator-e2e/tree/master/cicd
|
||||
namespacedName := types.NamespacedName{Namespace: jenkins.Namespace, Name: jenkins.Name}
|
||||
err = framework.Global.Client.Get(context.TODO(), namespacedName, jenkins)
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't get jenkins CR '%v'", err)
|
||||
}
|
||||
|
||||
if len(jenkins.Status.Builds) != 1 {
|
||||
t.Fatalf("couldn't get build status from cr '%v'", jenkins.Status.Builds)
|
||||
}
|
||||
|
||||
build := jenkins.Status.Builds[0]
|
||||
if build.Name != seedjobs.ConfigureSeedJobsName {
|
||||
t.Fatalf("invalid cr status - wrong seed job name '%v'", build.Name)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user