Skip to content

Commit ebcc568

Browse files
author
OpenShift Bot
authored
Merge pull request #11158 from guangxuli/origin_jenkins
Merged by openshift-bot
2 parents 942ff44 + 8fa9262 commit ebcc568

File tree

6 files changed

+124
-3
lines changed

6 files changed

+124
-3
lines changed

pkg/build/controller/jenkins/jenkins.go

-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ func substituteTemplateParameters(params map[string]string, t *templateapi.Templ
101101
if v := template.GetParameterByName(t, name); v != nil {
102102
v.Value = value
103103
v.Generate = ""
104-
template.AddParameter(t, *v)
105104
} else {
106105
errors = append(errors, fmt.Errorf("unknown parameter %q specified for template", name))
107106
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package jenkins
2+
3+
import (
4+
"fmt"
5+
templateapi "github.com/openshift/origin/pkg/template/api"
6+
"testing"
7+
)
8+
9+
func TestSubstituteTemplateParameters(t *testing.T) {
10+
template := &templateapi.Template{
11+
Parameters: []templateapi.Parameter{
12+
{Name: "parameter_foo_bar_exist", Value: "value_foo_bar_exist_old"},
13+
{Name: "parameter_foo_bar_2", Value: "value_foo_bar_2"}},
14+
}
15+
oldParameterNum := len(template.Parameters)
16+
testParamMap := map[string]string{}
17+
testParamMap["parameter_foo_bar_exist"] = "value_foo_bar_exist_new"
18+
testParamMap["parameter_foo_bar_no_exist"] = "value_foo_bar_no_exist"
19+
testParamMap[""] = "value_foo_bar_empty"
20+
21+
errors := substituteTemplateParameters(testParamMap, template)
22+
if len(errors) != 2 {
23+
for index, err := range errors {
24+
fmt.Printf("errors[%d] : %v\n", index, err)
25+
}
26+
t.Errorf("expect unknown parameter and empty errors")
27+
}
28+
if len(template.Parameters) != oldParameterNum {
29+
t.Errorf("expect parameters num : %d", oldParameterNum)
30+
}
31+
if !(template.Parameters[0].Name == "parameter_foo_bar_exist" &&
32+
template.Parameters[0].Value == "value_foo_bar_exist_new") {
33+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
34+
"parameter_foo_bar_exist", "value_foo_bar_exist_new", template.Parameters[0].Name, template.Parameters[0].Value)
35+
}
36+
if !(template.Parameters[1].Name == "parameter_foo_bar_2" &&
37+
template.Parameters[1].Value == "value_foo_bar_2") {
38+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
39+
"parameter_foo_bar_2", "value_foo_bar_2", template.Parameters[1].Name, template.Parameters[1].Value)
40+
}
41+
}

pkg/cmd/cli/cmd/process.go

-1
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ func injectUserVars(values []string, t *templateapi.Template) []error {
302302
if v := template.GetParameterByName(t, p[0]); v != nil {
303303
v.Value = p[1]
304304
v.Generate = ""
305-
template.AddParameter(t, *v)
306305
} else {
307306
errors = append(errors, fmt.Errorf("unknown parameter name %q\n", p[0]))
308307
}

pkg/cmd/cli/cmd/process_test.go

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package cmd
2+
3+
import (
4+
"fmt"
5+
templateapi "github.com/openshift/origin/pkg/template/api"
6+
"testing"
7+
)
8+
9+
func TestInjectUserVars(t *testing.T) {
10+
template := &templateapi.Template{
11+
Parameters: []templateapi.Parameter{
12+
{Name: "parameter_foo_bar_exist", Value: "value_foo_bar_exist_old"},
13+
{Name: "parameter_foo_bar_2", Value: "value_foo_bar_2"}},
14+
}
15+
oldParameterNum := len(template.Parameters)
16+
testParam := []string{"parameter_foo_bar_exist=value_foo_bar_exist_new",
17+
"parameter_foo_bar_no_exist=value_foo_bar_no_exist",
18+
"parameter_foo_bar_error=value_foo_bar_error=value_foo_bar_error"}
19+
20+
errors := injectUserVars(testParam, template)
21+
if len(errors) != 2 {
22+
for index, err := range errors {
23+
fmt.Printf("errors[%d] : %v\n", index, err)
24+
}
25+
t.Errorf("expect invalid parameter and unknown parameter errors")
26+
}
27+
if len(template.Parameters) != oldParameterNum {
28+
t.Errorf("expect parameters num : %d", oldParameterNum)
29+
}
30+
if !(template.Parameters[0].Name == "parameter_foo_bar_exist" &&
31+
template.Parameters[0].Value == "value_foo_bar_exist_new") {
32+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
33+
"parameter_foo_bar_exist", "value_foo_bar_exist_new", template.Parameters[0].Name, template.Parameters[0].Value)
34+
}
35+
if !(template.Parameters[1].Name == "parameter_foo_bar_2" &&
36+
template.Parameters[1].Value == "value_foo_bar_2") {
37+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
38+
"parameter_foo_bar_2", "value_foo_bar_2", template.Parameters[1].Name, template.Parameters[1].Value)
39+
}
40+
}

pkg/generate/app/cmd/template.go

-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ func TransformTemplate(tpl *templateapi.Template, client client.TemplateConfigsN
2525
}
2626
v.Value = value
2727
v.Generate = ""
28-
template.AddParameter(tpl, *v)
2928
}
3029

3130
name := localOrRemoteName(tpl.ObjectMeta, namespace)

pkg/generate/app/cmd/template_test.go

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package cmd
2+
3+
import (
4+
"github.com/openshift/origin/pkg/client/testclient"
5+
templateapi "github.com/openshift/origin/pkg/template/api"
6+
kapi "k8s.io/kubernetes/pkg/api"
7+
"testing"
8+
)
9+
10+
func TestTransformTemplate(t *testing.T) {
11+
templatefoobar := &templateapi.Template{
12+
ObjectMeta: kapi.ObjectMeta{
13+
Name: "foo_bar_template_name",
14+
Namespace: "foo_bar_namespace",
15+
},
16+
Parameters: []templateapi.Parameter{
17+
{Name: "parameter_foo_bar_exist", Value: "value_foo_bar_exist_old"},
18+
{Name: "parameter_foo_bar_2", Value: "value_foo_bar_2"}},
19+
}
20+
oldParameterNum := len(templatefoobar.Parameters)
21+
testParamMap := map[string]string{}
22+
testParamMap["parameter_foo_bar_exist"] = "value_foo_bar_exist_new"
23+
24+
fakeosClient := &testclient.Fake{}
25+
26+
template, err := TransformTemplate(templatefoobar, fakeosClient, "foo_bar_namespace", testParamMap)
27+
if err != nil {
28+
t.Errorf("unexpect err : %v", err)
29+
}
30+
if len(template.Parameters) != oldParameterNum {
31+
t.Errorf("expect parameters num : %d", oldParameterNum)
32+
}
33+
if !(template.Parameters[0].Name == "parameter_foo_bar_exist" &&
34+
template.Parameters[0].Value == "value_foo_bar_exist_new") {
35+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
36+
"parameter_foo_bar_exist", "value_foo_bar_exist_new", template.Parameters[0].Name, template.Parameters[0].Value)
37+
}
38+
if !(template.Parameters[1].Name == "parameter_foo_bar_2" &&
39+
template.Parameters[1].Value == "value_foo_bar_2") {
40+
t.Errorf("expect Name : %q Value : %q get Name : %q Value : %q",
41+
"parameter_foo_bar_2", "value_foo_bar_2", template.Parameters[1].Name, template.Parameters[1].Value)
42+
}
43+
}

0 commit comments

Comments
 (0)