@@ -45,22 +45,39 @@ func TestDeploymentSpecSetDefaults(t *testing.T) {
4545
4646func TestDeploymentSpecResetImmutableFields (t * testing.T ) {
4747 tests := []struct {
48- Original DeploymentSpec
49- Target DeploymentSpec
50- Expected DeploymentSpec
51- Result []string
48+ Original DeploymentSpec
49+ Target DeploymentSpec
50+ Expected DeploymentSpec
51+ ApplyDefaults bool
52+ Result []string
5253 }{
5354 // Valid "changes"
5455 {
5556 DeploymentSpec {Image : util .NewString ("foo" )},
5657 DeploymentSpec {Image : util .NewString ("foo2" )},
5758 DeploymentSpec {Image : util .NewString ("foo2" )},
59+ false ,
60+ nil ,
61+ },
62+ {
63+ DeploymentSpec {Image : util .NewString ("foo" )},
64+ DeploymentSpec {Image : util .NewString ("foo2" )},
65+ DeploymentSpec {Image : util .NewString ("foo2" )},
66+ true ,
5867 nil ,
5968 },
6069 {
6170 DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullAlways )},
6271 DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullNever )},
6372 DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullNever )},
73+ false ,
74+ nil ,
75+ },
76+ {
77+ DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullAlways )},
78+ DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullNever )},
79+ DeploymentSpec {ImagePullPolicy : util .NewPullPolicy (v1 .PullNever )},
80+ true ,
6481 nil ,
6582 },
6683
@@ -69,12 +86,31 @@ func TestDeploymentSpecResetImmutableFields(t *testing.T) {
6986 DeploymentSpec {Mode : NewMode (DeploymentModeSingle )},
7087 DeploymentSpec {Mode : NewMode (DeploymentModeCluster )},
7188 DeploymentSpec {Mode : NewMode (DeploymentModeSingle )},
89+ false ,
7290 []string {"mode" },
7391 },
92+ {
93+ DeploymentSpec {Mode : NewMode (DeploymentModeSingle )},
94+ DeploymentSpec {Mode : NewMode (DeploymentModeCluster )},
95+ DeploymentSpec {Mode : NewMode (DeploymentModeSingle )},
96+ true ,
97+ []string {"mode" , "agents.count" },
98+ },
7499 }
75100
76101 for _ , test := range tests {
102+ if test .ApplyDefaults {
103+ test .Original .SetDefaults ("foo" )
104+ test .Expected .SetDefaults ("foo" )
105+ test .Target .SetDefaultsFrom (test .Original )
106+ test .Target .SetDefaults ("foo" )
107+ }
77108 result := test .Original .ResetImmutableFields (& test .Target )
109+ if test .ApplyDefaults {
110+ if len (result ) > 0 {
111+ test .Target .SetDefaults ("foo" )
112+ }
113+ }
78114 assert .Equal (t , test .Result , result )
79115 assert .Equal (t , test .Expected , test .Target )
80116 }
0 commit comments