Refactoring, additional tests and update README.md

This commit is contained in:
antoniaklja
2018-12-27 18:17:54 +01:00
parent 50656ceb5b
commit e7c55512a8
10 changed files with 315 additions and 56 deletions
+4 -4
View File
@@ -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
View File
@@ -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"),
+16 -4
View File
@@ -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
View File
@@ -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(),
}