kubernetes-operator/test/e2e/jenkins_pod_restart_test.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)
})
})
})