mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-07 16:41:16 +02:00
Refactoring, additional tests and update README.md
This commit is contained in:
@@ -45,7 +45,7 @@ func verifyJenkinsMasterPodAttributes(t *testing.T, jenkins *virtuslabv1alpha1.J
|
||||
}
|
||||
|
||||
func verifyBasePlugins(t *testing.T, jenkinsClient *gojenkins.Jenkins) {
|
||||
allPluginsInJenkins, err := jenkinsClient.GetPlugins(1)
|
||||
installedPlugins, err := jenkinsClient.GetPlugins(1)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -55,11 +55,11 @@ func verifyBasePlugins(t *testing.T, jenkinsClient *gojenkins.Jenkins) {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if found, ok := isPluginValid(t, allPluginsInJenkins, *rootPlugin); !ok {
|
||||
if found, ok := isPluginValid(installedPlugins, *rootPlugin); !ok {
|
||||
t.Fatalf("Invalid plugin '%s', actual '%+v'", rootPlugin, found)
|
||||
}
|
||||
for _, requiredPlugin := range p {
|
||||
if found, ok := isPluginValid(t, allPluginsInJenkins, requiredPlugin); !ok {
|
||||
if found, ok := isPluginValid(installedPlugins, requiredPlugin); !ok {
|
||||
t.Fatalf("Invalid plugin '%s', actual '%+v'", requiredPlugin, found)
|
||||
}
|
||||
}
|
||||
@@ -68,7 +68,7 @@ func verifyBasePlugins(t *testing.T, jenkinsClient *gojenkins.Jenkins) {
|
||||
t.Log("Base plugins have been installed")
|
||||
}
|
||||
|
||||
func isPluginValid(t *testing.T, plugins *gojenkins.Plugins, requiredPlugin plugin.Plugin) (*gojenkins.Plugin, bool) {
|
||||
func isPluginValid(plugins *gojenkins.Plugins, requiredPlugin plugin.Plugin) (*gojenkins.Plugin, bool) {
|
||||
p := plugins.Contains(requiredPlugin.Name)
|
||||
if p == nil {
|
||||
return p, false
|
||||
|
||||
+4
-4
@@ -79,8 +79,8 @@ func createJenkinsCR(t *testing.T, namespace string) *virtuslabv1alpha1.Jenkins
|
||||
Annotations: map[string]string{"test": "label"},
|
||||
Resources: corev1.ResourceRequirements{
|
||||
Requests: corev1.ResourceList{
|
||||
corev1.ResourceCPU: resource.MustParse("1"),
|
||||
corev1.ResourceMemory: resource.MustParse("1Gi"),
|
||||
corev1.ResourceCPU: resource.MustParse("300m"),
|
||||
corev1.ResourceMemory: resource.MustParse("500Mi"),
|
||||
},
|
||||
Limits: corev1.ResourceList{
|
||||
corev1.ResourceCPU: resource.MustParse("2"),
|
||||
@@ -111,8 +111,8 @@ func createJenkinsCRWithSeedJob(t *testing.T, namespace string) *virtuslabv1alph
|
||||
Annotations: map[string]string{"test": "label"},
|
||||
Resources: corev1.ResourceRequirements{
|
||||
Requests: corev1.ResourceList{
|
||||
corev1.ResourceCPU: resource.MustParse("1"),
|
||||
corev1.ResourceMemory: resource.MustParse("1Gi"),
|
||||
corev1.ResourceCPU: resource.MustParse("300m"),
|
||||
corev1.ResourceMemory: resource.MustParse("500Mi"),
|
||||
},
|
||||
Limits: corev1.ResourceList{
|
||||
corev1.ResourceCPU: resource.MustParse("2"),
|
||||
|
||||
@@ -17,6 +17,7 @@ func TestUserConfiguration(t *testing.T) {
|
||||
defer ctx.Cleanup()
|
||||
|
||||
jenkins := createJenkinsCRWithSeedJob(t, namespace)
|
||||
waitForJenkinsBaseConfigurationToComplete(t, jenkins)
|
||||
waitForJenkinsUserConfigurationToComplete(t, jenkins)
|
||||
client := verifyJenkinsAPIConnection(t, jenkins)
|
||||
verifyJenkinsSeedJobs(t, client)
|
||||
@@ -25,7 +26,7 @@ func TestUserConfiguration(t *testing.T) {
|
||||
func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.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 seed job status '%v'", seedjobs.ConfigureSeedJobsName)
|
||||
t.Logf("Attempting to get configure seed job status '%v'", seedjobs.ConfigureSeedJobsName)
|
||||
seedJob, err := client.GetJob(seedjobs.ConfigureSeedJobsName)
|
||||
if err != nil || seedJob == nil {
|
||||
return false, nil
|
||||
@@ -37,9 +38,20 @@ func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins) {
|
||||
return true, nil
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't get seed job '%v'", err)
|
||||
t.Fatalf("couldn't get configure seed job '%v'", err)
|
||||
}
|
||||
|
||||
//TODO(bantoniak) verify if seed jobs have been created
|
||||
//TODO(bantoniak) verify if jobs created by seed jobs have been created
|
||||
// WARNING this use case depends on changes in https://github.com/VirtusLab/jenkins-operator-e2e/tree/master/cicd
|
||||
seedJobName := "jenkins-operator-e2e-job-dsl-seed" // https://github.com/VirtusLab/jenkins-operator-e2e/blob/master/cicd/jobs/e2e_test_job.jenkins
|
||||
err = wait.Poll(time.Second*10, time.Minute*2, func() (bool, error) {
|
||||
t.Logf("Attempting to verify if seed job has been created '%v'", seedJobName)
|
||||
seedJob, err := client.GetJob(seedJobName)
|
||||
if err != nil || seedJob == nil {
|
||||
return false, nil
|
||||
}
|
||||
return true, nil
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't verify if seed job has been created '%v'", err)
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ func waitForJenkinsBaseConfigurationToComplete(t *testing.T, jenkins *virtuslabv
|
||||
}
|
||||
|
||||
func waitForRecreateJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) {
|
||||
err := wait.Poll(retryInterval, 20*retryInterval, func() (bool, error) {
|
||||
err := wait.Poll(retryInterval, 30*retryInterval, func() (bool, error) {
|
||||
lo := metav1.ListOptions{
|
||||
LabelSelector: labels.SelectorFromSet(resources.BuildResourceLabels(jenkins)).String(),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user