11package main
22
33import (
4- "context"
54 "fmt"
65 "testing"
76 "time"
87
98 "github.com/stretchr/testify/require"
109 corev1 "k8s.io/api/core/v1"
11- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1210 "k8s.io/apimachinery/pkg/util/intstr"
1311)
1412
@@ -96,10 +94,14 @@ func TestBrokenStackWithConfigMaps(t *testing.T) {
9694 t .Parallel ()
9795
9896 stacksetName := "stackset-broken-stacks-with-configmap"
99- factory := NewTestStacksetSpecFactory (stacksetName ).Ingress ().ConfigMapRef ().StackGC (1 , 30 )
100-
10197 firstVersion := "v1"
98+
10299 firstStack := fmt .Sprintf ("%s-%s" , stacksetName , firstVersion )
100+
101+ configMapName := fmt .Sprintf ("%s-configmap" , firstStack )
102+ createConfigMap (t , configMapName )
103+
104+ factory := NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedConfigMap (configMapName ).StackGC (1 , 30 )
103105 spec := factory .Create (t , firstVersion )
104106 err := createStackSet (stacksetName , 0 , spec )
105107 require .NoError (t , err )
@@ -108,13 +110,11 @@ func TestBrokenStackWithConfigMaps(t *testing.T) {
108110
109111 unhealthyVersion := "v2"
110112 unhealthyStack := fmt .Sprintf ("%s-%s" , stacksetName , unhealthyVersion )
113+
114+ configMapName = fmt .Sprintf ("%s-configmap" , unhealthyStack )
115+
116+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedConfigMap (configMapName ).StackGC (1 , 30 )
111117 spec = factory .Create (t , unhealthyVersion )
112- for _ , cr := range spec .StackTemplate .Spec .ConfigurationResources {
113- if cr .IsConfigMapRef () {
114- err := configMapInterface ().Delete (context .Background (), cr .GetName (), metav1.DeleteOptions {})
115- require .NoError (t , err )
116- }
117- }
118118 err = updateStackset (stacksetName , spec )
119119 require .NoError (t , err )
120120 _ , err = waitForStack (t , stacksetName , unhealthyVersion )
@@ -137,6 +137,11 @@ func TestBrokenStackWithConfigMaps(t *testing.T) {
137137 // Create a healthy stack
138138 healthyVersion := "v3"
139139 healthyStack := fmt .Sprintf ("%s-%s" , stacksetName , healthyVersion )
140+
141+ configMapName = fmt .Sprintf ("%s-configmap" , healthyStack )
142+ createConfigMap (t , configMapName )
143+
144+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedConfigMap (configMapName ).StackGC (1 , 30 )
140145 spec = factory .Create (t , healthyVersion )
141146 err = updateStackset (stacksetName , spec )
142147 require .NoError (t , err )
@@ -152,6 +157,11 @@ func TestBrokenStackWithConfigMaps(t *testing.T) {
152157 // Create another healthy stack so we can test GC
153158 finalVersion := "v4"
154159 finalStack := fmt .Sprintf ("%s-%s" , stacksetName , finalVersion )
160+
161+ configMapName = fmt .Sprintf ("%s-configmap" , finalStack )
162+ createConfigMap (t , configMapName )
163+
164+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedConfigMap (configMapName ).StackGC (1 , 30 )
155165 spec = factory .Create (t , finalVersion )
156166 err = updateStackset (stacksetName , spec )
157167 require .NoError (t , err )
@@ -176,9 +186,12 @@ func TestBrokenStackWithSecrets(t *testing.T) {
176186 t .Parallel ()
177187
178188 stacksetName := "stackset-broken-stacks-with-secret"
179- factory := NewTestStacksetSpecFactory (stacksetName ).Ingress ().SecretRef ().StackGC (1 , 30 )
180-
181189 firstVersion := "v1"
190+
191+ secretName := fmt .Sprintf ("%s-%s-secret" , stacksetName , firstVersion )
192+ createSecret (t , secretName )
193+
194+ factory := NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedSecret (secretName ).StackGC (1 , 30 )
182195 firstStack := fmt .Sprintf ("%s-%s" , stacksetName , firstVersion )
183196 spec := factory .Create (t , firstVersion )
184197 err := createStackSet (stacksetName , 0 , spec )
@@ -187,14 +200,12 @@ func TestBrokenStackWithSecrets(t *testing.T) {
187200 require .NoError (t , err )
188201
189202 unhealthyVersion := "v2"
203+
204+ secretName = fmt .Sprintf ("%s-%s-secret" , stacksetName , unhealthyVersion )
205+
206+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedSecret (secretName ).StackGC (1 , 30 )
190207 unhealthyStack := fmt .Sprintf ("%s-%s" , stacksetName , unhealthyVersion )
191208 spec = factory .Create (t , unhealthyVersion )
192- for _ , cr := range spec .StackTemplate .Spec .ConfigurationResources {
193- if cr .IsSecretRef () {
194- err := secretInterface ().Delete (context .Background (), cr .GetName (), metav1.DeleteOptions {})
195- require .NoError (t , err )
196- }
197- }
198209 err = updateStackset (stacksetName , spec )
199210 require .NoError (t , err )
200211 _ , err = waitForStack (t , stacksetName , unhealthyVersion )
@@ -216,6 +227,11 @@ func TestBrokenStackWithSecrets(t *testing.T) {
216227
217228 // Create a healthy stack
218229 healthyVersion := "v3"
230+
231+ secretName = fmt .Sprintf ("%s-%s-secret" , stacksetName , healthyVersion )
232+ createSecret (t , secretName )
233+
234+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedSecret (secretName ).StackGC (1 , 30 )
219235 healthyStack := fmt .Sprintf ("%s-%s" , stacksetName , healthyVersion )
220236 spec = factory .Create (t , healthyVersion )
221237 err = updateStackset (stacksetName , spec )
@@ -231,6 +247,11 @@ func TestBrokenStackWithSecrets(t *testing.T) {
231247
232248 // Create another healthy stack so we can test GC
233249 finalVersion := "v4"
250+
251+ secretName = fmt .Sprintf ("%s-%s-secret" , stacksetName , finalVersion )
252+ createSecret (t , secretName )
253+
254+ factory = NewTestStacksetSpecFactory (stacksetName ).Ingress ().AddReferencedSecret (secretName ).StackGC (1 , 30 )
234255 finalStack := fmt .Sprintf ("%s-%s" , stacksetName , finalVersion )
235256 spec = factory .Create (t , finalVersion )
236257 err = updateStackset (stacksetName , spec )
0 commit comments