@@ -54,13 +54,16 @@ func TestHelmUpgrade(t *testing.T) {
54
54
}
55
55
56
56
testCases := []struct {
57
- name string
58
- fromVersion string
59
- toVersion string
60
- objectsToDeploy []client.Object
61
- upgradeToCurrent bool
62
- assertionsAfterInstall []assertion
63
- assertionsAfterUpgrade []assertion
57
+ name string
58
+ fromVersion string
59
+ toVersion string
60
+ objectsToDeploy []client.Object
61
+ upgradeToCurrent bool
62
+ // If upgrading to an image tag that's not a valid semver, fill this to the effective semver so that charts
63
+ // can correctly render semver-conditional templates.
64
+ upgradeToEffectiveSemver string
65
+ assertionsAfterInstall []assertion
66
+ assertionsAfterUpgrade []assertion
64
67
}{
65
68
{
66
69
name : "upgrade from one before latest to latest minor" ,
@@ -138,6 +141,9 @@ func TestHelmUpgrade(t *testing.T) {
138
141
name : "upgrade from latest minor to current" ,
139
142
fromVersion : "1.4.0" , // renovate: datasource=docker packageName=kong/gateway-operator-oss
140
143
upgradeToCurrent : true ,
144
+ // This is the effective semver of a next release. It's needed for the chart to properly render
145
+ // semver-conditional templates.
146
+ upgradeToEffectiveSemver : "1.5.0" ,
141
147
objectsToDeploy : []client.Object {
142
148
& operatorv1beta1.GatewayConfiguration {
143
149
ObjectMeta : metav1.ObjectMeta {
@@ -332,6 +338,10 @@ func TestHelmUpgrade(t *testing.T) {
332
338
"anonymous_reports" : "false" ,
333
339
}
334
340
341
+ if tc .upgradeToEffectiveSemver != "" {
342
+ values ["image.effectiveSemver" ] = tc .upgradeToEffectiveSemver
343
+ }
344
+
335
345
opts := & helm.Options {
336
346
KubectlOptions : & k8s.KubectlOptions {
337
347
Namespace : e .Namespace .Name ,
0 commit comments