#43 Improve tests and fix GetJenkinsOpts
This commit is contained in:
parent
01655785b5
commit
9e73be7a49
|
|
@ -136,12 +136,15 @@ func GetJenkinsOpts(jenkins *v1alpha2.Jenkins) map[string]string {
|
||||||
if v.Name == "JENKINS_OPTS" {
|
if v.Name == "JENKINS_OPTS" {
|
||||||
jenkinsOptsEnv := envs[k]
|
jenkinsOptsEnv := envs[k]
|
||||||
jenkinsOptsWithDashes := jenkinsOptsEnv.Value
|
jenkinsOptsWithDashes := jenkinsOptsEnv.Value
|
||||||
jenkinsOptsWithDashes = strings.ReplaceAll(jenkinsOptsWithDashes, "--", "") // Remove dashes
|
if len(jenkinsOptsWithDashes) == 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
jenkinsOptsWithEqOperators := strings.Split(jenkinsOptsWithDashes, " ")
|
jenkinsOptsWithEqOperators := strings.Split(jenkinsOptsWithDashes, " ")
|
||||||
|
|
||||||
for _, vx := range jenkinsOptsWithEqOperators {
|
for _, vx := range jenkinsOptsWithEqOperators {
|
||||||
opt := strings.Split(vx, "=")
|
opt := strings.Split(vx, "=")
|
||||||
jenkinsOpts[opt[0]] = opt[1]
|
jenkinsOpts[strings.ReplaceAll(opt[0], "--", "")] = opt[1]
|
||||||
}
|
}
|
||||||
|
|
||||||
return jenkinsOpts
|
return jenkinsOpts
|
||||||
|
|
|
||||||
|
|
@ -15,40 +15,81 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGetJenkinsOpts(t *testing.T) {
|
func TestGetJenkinsOpts(t *testing.T) {
|
||||||
envs := []corev1.EnvVar{
|
t.Run("JENKINS_OPTS is empty", func(t *testing.T) {
|
||||||
{Name: "JENKINS_OPTS", Value: "--prefix=/jenkins --httpPort=8080"},
|
jenkins := &v1alpha2.Jenkins{
|
||||||
}
|
Spec: v1alpha2.JenkinsSpec{
|
||||||
|
Master: v1alpha2.JenkinsMaster{
|
||||||
jenkins := &v1alpha2.Jenkins{
|
Containers: []v1alpha2.Container{
|
||||||
Spec: v1alpha2.JenkinsSpec{
|
{
|
||||||
Master: v1alpha2.JenkinsMaster{
|
Env: []corev1.EnvVar{
|
||||||
Containers: []v1alpha2.Container{
|
{Name: "JENKINS_OPTS", Value: ""},
|
||||||
{
|
},
|
||||||
Env: envs,
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
}
|
||||||
}
|
|
||||||
|
|
||||||
opts := GetJenkinsOpts(jenkins)
|
opts := GetJenkinsOpts(jenkins)
|
||||||
|
assert.Equal(t, 0, len(opts))
|
||||||
t.Run("equal env vars", func(t *testing.T) {
|
|
||||||
assert.Equal(t, opts["prefix"], "/jenkins")
|
|
||||||
assert.Equal(t, opts["httpPort"], "8080")
|
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("not equal env vars", func(t *testing.T) {
|
t.Run("JENKINS_OPTS have --prefix argument ", func(t *testing.T) {
|
||||||
assert.NotEqual(t, opts["prefix"], "/jenkins_not_equal")
|
jenkins := &v1alpha2.Jenkins{
|
||||||
assert.NotEqual(t, opts["httpPort"], "80808")
|
Spec: v1alpha2.JenkinsSpec{
|
||||||
|
Master: v1alpha2.JenkinsMaster{
|
||||||
|
Containers: []v1alpha2.Container{
|
||||||
|
{
|
||||||
|
Env: []corev1.EnvVar{
|
||||||
|
{Name: "JENKINS_OPTS", Value: "--prefix=/jenkins"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
opts := GetJenkinsOpts(jenkins)
|
||||||
|
|
||||||
|
assert.Equal(t, 1, len(opts))
|
||||||
|
|
||||||
|
t.Run("ensure that JENKINS_OPTS not contains --httpPort", func(t *testing.T) {
|
||||||
|
assert.NotContains(t, opts, "httpPort")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("ensure that argument is --prefix", func(t *testing.T) {
|
||||||
|
assert.Contains(t, opts, "prefix")
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("should exists", func(t *testing.T) {
|
t.Run("JENKINS_OPTS have --prefix and --httpPort argument", func(t *testing.T) {
|
||||||
assert.Contains(t, opts, "httpPort")
|
jenkins := &v1alpha2.Jenkins{
|
||||||
})
|
Spec: v1alpha2.JenkinsSpec{
|
||||||
|
Master: v1alpha2.JenkinsMaster{
|
||||||
|
Containers: []v1alpha2.Container{
|
||||||
|
{
|
||||||
|
Env: []corev1.EnvVar{
|
||||||
|
{Name: "JENKINS_OPTS", Value: "--prefix=/jenkins --httpPort=8080"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
t.Run("should exists", func(t *testing.T) {
|
opts := GetJenkinsOpts(jenkins)
|
||||||
assert.NotContains(t, opts, "should_not_exists")
|
|
||||||
|
assert.Equal(t, 2, len(opts))
|
||||||
|
|
||||||
|
t.Run("ensure that argument is --prefix with value /jenkins", func(t *testing.T) {
|
||||||
|
assert.Contains(t, opts, "prefix")
|
||||||
|
assert.Equal(t, opts["prefix"], "/jenkins")
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("ensure that argument is --httpPort with value 8080", func(t *testing.T) {
|
||||||
|
assert.Contains(t, opts, "httpPort")
|
||||||
|
assert.Equal(t, opts["httpPort"], "8080")
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ package jenkins
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/go-logr/logr"
|
"reflect"
|
||||||
|
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
||||||
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
|
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base"
|
||||||
|
|
@ -15,6 +16,8 @@ import (
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/event"
|
"github.com/jenkinsci/kubernetes-operator/pkg/event"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
||||||
"github.com/jenkinsci/kubernetes-operator/version"
|
"github.com/jenkinsci/kubernetes-operator/version"
|
||||||
|
|
||||||
|
"github.com/go-logr/logr"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
corev1 "k8s.io/api/core/v1"
|
corev1 "k8s.io/api/core/v1"
|
||||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
|
|
@ -24,7 +27,6 @@ import (
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/rest"
|
"k8s.io/client-go/rest"
|
||||||
"reflect"
|
|
||||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/controller"
|
"sigs.k8s.io/controller-runtime/pkg/controller"
|
||||||
"sigs.k8s.io/controller-runtime/pkg/handler"
|
"sigs.k8s.io/controller-runtime/pkg/handler"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue