6
6
7
7
"github.com/GoogleContainerTools/skaffold/v2/pkg/skaffold/schema/latest"
8
8
"github.com/GoogleContainerTools/skaffold/v2/testutil"
9
- "github.com/stretchr/testify/require"
10
9
)
11
10
12
11
func TestBuildDependencyGraph (t * testing.T ) {
@@ -65,12 +64,32 @@ func TestBuildDependencyGraph(t *testing.T) {
65
64
graph , err := BuildDependencyGraph (test .releases )
66
65
67
66
if test .shouldErr {
68
- require . Error ( t , err )
67
+ t . CheckError ( true , err )
69
68
return
70
69
}
71
70
72
- require .NoError (t , err )
73
- require .Equal (t , test .expected , graph )
71
+ t .CheckError (false , err )
72
+ t .CheckDeepEqual (len (test .expected ), len (graph ))
73
+
74
+ for release , deps := range test .expected {
75
+ actualDeps , exists := graph [release ]
76
+ if ! exists {
77
+ t .Errorf ("missing release %s in graph" , release )
78
+ continue
79
+ }
80
+
81
+ if len (deps ) != len (actualDeps ) {
82
+ t .Errorf ("expected %d dependencies for %s, got %d" , len (deps ), release , len (actualDeps ))
83
+ continue
84
+ }
85
+
86
+ // Check all expected dependencies exist
87
+ for _ , dep := range deps {
88
+ if ! slices .Contains (actualDeps , dep ) {
89
+ t .Errorf ("missing dependency %s for release %s" , dep , release )
90
+ }
91
+ }
92
+ }
74
93
})
75
94
}
76
95
}
@@ -137,10 +156,9 @@ func TestVerifyNoCycles(t *testing.T) {
137
156
err := VerifyNoCycles (test .graph )
138
157
139
158
if test .shouldErr {
140
- require .Error (t , err )
141
- require .Contains (t , err .Error (), "cycle detected" )
159
+ t .CheckErrorContains ("cycle detected" , err )
142
160
} else {
143
- require . NoError ( t , err )
161
+ t . RequireNoError ( err )
144
162
}
145
163
})
146
164
}
@@ -199,27 +217,32 @@ func TestCalculateDeploymentOrder(t *testing.T) {
199
217
}
200
218
201
219
for _ , test := range tests {
202
- t .Run (test .description , func (t * testing .T ) {
220
+ testutil .Run (t , test .description , func (t * testutil .T ) {
203
221
order , err := calculateDeploymentOrder (test .graph )
204
222
205
223
if test .shouldErr {
206
- require . Error ( t , err )
224
+ t . CheckError ( true , err )
207
225
return
208
226
}
209
227
210
- require .NoError (t , err )
211
- require .Equal (t , len (test .expected ), len (order ), "deployment order length mismatch" )
228
+ t .CheckError (false , err )
212
229
213
230
// Verify order satisfies dependencies
214
231
installed := make (map [string ]bool )
215
232
for _ , release := range order {
216
233
// Check all dependencies are installed
217
234
for _ , dep := range test .graph [release ] {
218
- require .True (t , installed [dep ],
219
- "release %s deployed before dependency %s" , release , dep )
235
+ if ! installed [dep ] {
236
+ t .Errorf ("dependency %s not installed before %s" , dep , release )
237
+ }
220
238
}
221
239
installed [release ] = true
222
240
}
241
+
242
+ // Verify all nodes are present
243
+ if len (order ) != len (test .graph ) {
244
+ t .Errorf ("expected %d nodes, got %d" , len (test .graph ), len (order ))
245
+ }
223
246
})
224
247
}
225
248
}
@@ -297,14 +320,13 @@ func TestGroupReleasesByLevel(t *testing.T) {
297
320
}
298
321
299
322
for _ , test := range tests {
300
- t .Run (test .description , func (t * testing .T ) {
323
+ testutil .Run (t , test .description , func (t * testutil .T ) {
301
324
levels := groupReleasesByLevel (test .order , test .graph )
302
325
303
- require . Equal ( t , len (test .expected ), len (levels ), "number of levels mismatch" )
326
+ t . CheckDeepEqual ( len (test .expected ), len (levels ))
304
327
305
328
for level , releases := range test .expected {
306
- require .ElementsMatch (t , releases , levels [level ],
307
- "releases at level %d don't match" , level )
329
+ t .CheckDeepEqual (releases , levels [level ])
308
330
}
309
331
310
332
// Verify level assignments are correct
@@ -314,9 +336,9 @@ func TestGroupReleasesByLevel(t *testing.T) {
314
336
for _ , dep := range test .graph [release ] {
315
337
for depLevel , depReleases := range levels {
316
338
if slices .Contains (depReleases , dep ) {
317
- require . Less ( t , depLevel , level ,
318
- "dependency %s at level %d >= release %s at level %d" ,
319
- dep , depLevel , release , level )
339
+ if depLevel >= level {
340
+ t . Errorf ( "dependency %s at level %d >= release %s at level %d" , dep , depLevel , release , level )
341
+ }
320
342
}
321
343
}
322
344
}
0 commit comments