@@ -2,9 +2,11 @@ package apischema
2
2
3
3
import (
4
4
"encoding/json"
5
- "errors"
6
5
"testing"
7
6
7
+ "github.com/stretchr/testify/assert"
8
+ "github.com/stretchr/testify/require"
9
+
8
10
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
9
11
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
10
12
"k8s.io/client-go/openapi"
@@ -76,17 +78,9 @@ func TestGetCRDGroupKindVersions(t *testing.T) {
76
78
for _ , tc := range tests {
77
79
t .Run (tc .name , func (t * testing.T ) {
78
80
gkv := getCRDGroupKindVersions (tc .spec )
79
- if gkv .Group != tc .wantG || gkv .Kind != tc .wantKind {
80
- t .Errorf ("GroupKind mismatch: got %v/%v, want %v/%v" , gkv .Group , gkv .Kind , tc .wantG , tc .wantKind )
81
- }
82
- if len (gkv .Versions ) != len (tc .wantVers ) {
83
- t .Fatalf ("Versions length: got %d, want %d" , len (gkv .Versions ), len (tc .wantVers ))
84
- }
85
- for i , v := range tc .wantVers {
86
- if gkv .Versions [i ] != v {
87
- t .Errorf ("Versions[%d]: got %q, want %q" , i , gkv .Versions [i ], v )
88
- }
89
- }
81
+ assert .Equal (t , tc .wantG , gkv .Group , "Group mismatch" )
82
+ assert .Equal (t , tc .wantKind , gkv .Kind , "Kind mismatch" )
83
+ assert .Equal (t , tc .wantVers , gkv .Versions , "Versions mismatch" )
90
84
})
91
85
}
92
86
}
@@ -116,9 +110,7 @@ func TestIsCRDKindIncluded(t *testing.T) {
116
110
for _ , tc := range tests {
117
111
t .Run (tc .name , func (t * testing.T ) {
118
112
got := isCRDKindIncluded (tc .gkv , tc .apiList )
119
- if got != tc .want {
120
- t .Errorf ("expected %v, got %v" , tc .want , got )
121
- }
113
+ assert .Equal (t , tc .want , got , "result mismatch" )
122
114
})
123
115
}
124
116
}
@@ -162,22 +154,11 @@ func TestErrorIfCRDNotInPreferredApiGroups(t *testing.T) {
162
154
t .Run (tc .name , func (t * testing.T ) {
163
155
groups , err := errorIfCRDNotInPreferredApiGroups (gkv , tc .lists )
164
156
if tc .wantErr != nil {
165
- if ! errors .Is (err , tc .wantErr ) {
166
- t .Fatalf ("expected error %v, got %v" , tc .wantErr , err )
167
- }
157
+ assert .ErrorIs (t , err , tc .wantErr )
168
158
return
169
159
}
170
- if err != nil {
171
- t .Fatalf ("unexpected error: %v" , err )
172
- }
173
- if len (groups ) != len (tc .wantGroup ) {
174
- t .Fatalf ("group count: got %d, want %d" , len (groups ), len (tc .wantGroup ))
175
- }
176
- for i := range groups {
177
- if groups [i ] != tc .wantGroup [i ] {
178
- t .Errorf ("groups[%d]: got %q, want %q" , i , groups [i ], tc .wantGroup [i ])
179
- }
180
- }
160
+ require .NoError (t , err , "unexpected error" )
161
+ assert .Equal (t , tc .wantGroup , groups , "groups mismatch" )
181
162
})
182
163
}
183
164
}
@@ -236,17 +217,11 @@ func TestGetSchemaForPath(t *testing.T) {
236
217
t .Run (tc .name , func (t * testing.T ) {
237
218
got , err := getSchemaForPath (tc .preferred , tc .path , tc .gv )
238
219
if tc .wantErr != nil {
239
- if ! errors .Is (err , tc .wantErr ) {
240
- t .Fatalf ("expected error %v, got %v" , tc .wantErr , err )
241
- }
220
+ assert .ErrorIs (t , err , tc .wantErr )
242
221
return
243
222
}
244
- if err != nil {
245
- t .Fatalf ("unexpected error: %v" , err )
246
- }
247
- if len (got ) != tc .wantCount {
248
- t .Errorf ("schema count: got %d, want %d" , len (got ), tc .wantCount )
249
- }
223
+ require .NoError (t , err , "unexpected error" )
224
+ assert .Equal (t , tc .wantCount , len (got ), "schema count mismatch" )
250
225
})
251
226
}
252
227
}
@@ -309,12 +284,11 @@ func TestResolveSchema(t *testing.T) {
309
284
}
310
285
311
286
got , err := resolveSchema (resolver , resolver )
312
- if (err != nil ) != tt .wantErr {
313
- t .Errorf ("resolveSchema() error = %v, wantErr %v" , err , tt .wantErr )
314
- return
315
- }
316
- if ! tt .wantErr && got == nil {
317
- t .Error ("resolveSchema() returned nil result when no error expected" )
287
+ if tt .wantErr {
288
+ assert .Error (t , err , "expected an error" )
289
+ } else {
290
+ assert .NoError (t , err , "unexpected error" )
291
+ assert .NotNil (t , got , "expected non-nil result" )
318
292
}
319
293
})
320
294
}
0 commit comments