38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| package e2e
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"testing"
 | |
| 
 | |
| 	virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
 | |
| 
 | |
| 	framework "github.com/operator-framework/operator-sdk/pkg/test"
 | |
| 	"k8s.io/apimachinery/pkg/types"
 | |
| )
 | |
| 
 | |
| func TestJenkinsMasterPodRestart(t *testing.T) {
 | |
| 	t.Parallel()
 | |
| 	namespace, ctx := setupTest(t)
 | |
| 	// Deletes test namespace
 | |
| 	defer ctx.Cleanup()
 | |
| 
 | |
| 	jenkins := createJenkinsCR(t, namespace)
 | |
| 	waitForJenkinsBaseConfigurationToComplete(t, jenkins)
 | |
| 	restartJenkinsMasterPod(t, jenkins)
 | |
| 	waitForRecreateJenkinsMasterPod(t, jenkins)
 | |
| 	checkBaseConfigurationCompleteTimeIsNotSet(t, jenkins)
 | |
| 	waitForJenkinsBaseConfigurationToComplete(t, jenkins)
 | |
| }
 | |
| 
 | |
| func checkBaseConfigurationCompleteTimeIsNotSet(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) {
 | |
| 	jenkinsStatus := &virtuslabv1alpha1.Jenkins{}
 | |
| 	namespaceName := types.NamespacedName{Namespace: jenkins.Namespace, Name: jenkins.Name}
 | |
| 	err := framework.Global.Client.Get(context.TODO(), namespaceName, jenkinsStatus)
 | |
| 	if err != nil {
 | |
| 		t.Fatal(err)
 | |
| 	}
 | |
| 	if jenkinsStatus.Status.BaseConfigurationCompletedTime != nil {
 | |
| 		t.Fatalf("Status.BaseConfigurationCompletedTime is set after restart of pod, status %+v", jenkinsStatus.Status)
 | |
| 	}
 | |
| }
 |