110 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Go
		
	
	
	
| package e2e
 | |
| 
 | |
| import (
 | |
| 	"github.com/jenkinsci/kubernetes-operator/api/v1alpha2"
 | |
| 
 | |
| 	. "github.com/onsi/ginkgo"
 | |
| 	. "github.com/onsi/gomega"
 | |
| 	corev1 "k8s.io/api/core/v1"
 | |
| 	// +kubebuilder:scaffold:imports
 | |
| )
 | |
| 
 | |
| var _ = Describe("Jenkins controller", func() {
 | |
| 
 | |
| 	const (
 | |
| 		jenkinsCRName     = e2e
 | |
| 		priorityClassName = ""
 | |
| 	)
 | |
| 
 | |
| 	var (
 | |
| 		namespace     *corev1.Namespace
 | |
| 		jenkins       *v1alpha2.Jenkins
 | |
| 		groovyScripts = v1alpha2.GroovyScripts{
 | |
| 			Customization: v1alpha2.Customization{
 | |
| 				Configurations: []v1alpha2.ConfigMapRef{},
 | |
| 			},
 | |
| 		}
 | |
| 		casc = v1alpha2.ConfigurationAsCode{
 | |
| 			Customization: v1alpha2.Customization{
 | |
| 				Configurations: []v1alpha2.ConfigMapRef{},
 | |
| 			},
 | |
| 		}
 | |
| 	)
 | |
| 
 | |
| 	BeforeEach(func() {
 | |
| 		namespace = CreateNamespace()
 | |
| 
 | |
| 		configureAuthorizationToUnSecure(namespace.Name, userConfigurationConfigMapName)
 | |
| 		jenkins = createJenkinsCR(jenkinsCRName, namespace.Name, nil, groovyScripts, casc, priorityClassName)
 | |
| 	})
 | |
| 
 | |
| 	AfterEach(func() {
 | |
| 		ShowLogsIfTestHasFailed(CurrentGinkgoTestDescription().Failed, namespace.Name)
 | |
| 		DestroyNamespace(namespace)
 | |
| 	})
 | |
| 
 | |
| 	Context("when restarting Jenkins master pod", func() {
 | |
| 		It("new Jenkins Master pod should be created", func() {
 | |
| 			WaitForJenkinsBaseConfigurationToComplete(jenkins)
 | |
| 			restartJenkinsMasterPod(jenkins)
 | |
| 			waitForRecreateJenkinsMasterPod(jenkins)
 | |
| 			checkBaseConfigurationCompleteTimeIsNotSet(jenkins)
 | |
| 			WaitForJenkinsBaseConfigurationToComplete(jenkins)
 | |
| 		})
 | |
| 	})
 | |
| })
 | |
| 
 | |
| var _ = Describe("Jenkins controller", func() {
 | |
| 
 | |
| 	const (
 | |
| 		jenkinsCRName     = e2e
 | |
| 		priorityClassName = ""
 | |
| 	)
 | |
| 
 | |
| 	var (
 | |
| 		namespace     *corev1.Namespace
 | |
| 		jenkins       *v1alpha2.Jenkins
 | |
| 		groovyScripts = v1alpha2.GroovyScripts{
 | |
| 			Customization: v1alpha2.Customization{
 | |
| 				Configurations: []v1alpha2.ConfigMapRef{
 | |
| 					{
 | |
| 						Name: userConfigurationConfigMapName,
 | |
| 					},
 | |
| 				},
 | |
| 			},
 | |
| 		}
 | |
| 		casc = v1alpha2.ConfigurationAsCode{
 | |
| 			Customization: v1alpha2.Customization{
 | |
| 				Configurations: []v1alpha2.ConfigMapRef{},
 | |
| 			},
 | |
| 		}
 | |
| 	)
 | |
| 
 | |
| 	BeforeEach(func() {
 | |
| 		namespace = CreateNamespace()
 | |
| 
 | |
| 		configureAuthorizationToUnSecure(namespace.Name, userConfigurationConfigMapName)
 | |
| 		jenkins = createJenkinsCRSafeRestart(jenkinsCRName, namespace.Name, nil, groovyScripts, casc, priorityClassName)
 | |
| 	})
 | |
| 
 | |
| 	AfterEach(func() {
 | |
| 		DestroyNamespace(namespace)
 | |
| 	})
 | |
| 
 | |
| 	Context("when running Jenkins safe restart", func() {
 | |
| 		It("authorization strategy is not overwritten", func() {
 | |
| 			WaitForJenkinsBaseConfigurationToComplete(jenkins)
 | |
| 			WaitForJenkinsUserConfigurationToComplete(jenkins)
 | |
| 			jenkinsClient, cleanUpFunc := verifyJenkinsAPIConnection(jenkins, namespace.Name)
 | |
| 			defer cleanUpFunc()
 | |
| 			checkIfAuthorizationStrategyUnsecuredIsSet(jenkinsClient)
 | |
| 
 | |
| 			err := jenkinsClient.SafeRestart()
 | |
| 			Expect(err).NotTo(HaveOccurred())
 | |
| 			waitForJenkinsSafeRestart(jenkinsClient)
 | |
| 
 | |
| 			checkIfAuthorizationStrategyUnsecuredIsSet(jenkinsClient)
 | |
| 		})
 | |
| 	})
 | |
| })
 |