@@ -1179,6 +1179,71 @@ func VerifyDatesInOrder(
1179
1179
}
1180
1180
}
1181
1181
1182
+ func TestDescribeResources (t * testing.T ) {
1183
+ testCases := []struct {
1184
+ resources * corev1.ResourceRequirements
1185
+ expectedElements map [string ]int
1186
+ }{
1187
+ {
1188
+ resources : & corev1.ResourceRequirements {},
1189
+ expectedElements : map [string ]int {},
1190
+ },
1191
+ {
1192
+ resources : & corev1.ResourceRequirements {
1193
+ Requests : corev1.ResourceList {
1194
+ corev1 .ResourceCPU : resource .MustParse ("1000" ),
1195
+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
1196
+ },
1197
+ Limits : corev1.ResourceList {
1198
+ corev1 .ResourceCPU : resource .MustParse ("1000" ),
1199
+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
1200
+ },
1201
+ },
1202
+ expectedElements : map [string ]int {"cpu" : 2 , "memory" : 2 , "Requests" : 1 , "Limits" : 1 , "1k" : 2 , "100Mi" : 2 },
1203
+ },
1204
+ {
1205
+ resources : & corev1.ResourceRequirements {
1206
+ Limits : corev1.ResourceList {
1207
+ corev1 .ResourceCPU : resource .MustParse ("1000" ),
1208
+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
1209
+ },
1210
+ },
1211
+ expectedElements : map [string ]int {"cpu" : 1 , "memory" : 1 , "Limits" : 1 , "1k" : 1 , "100Mi" : 1 },
1212
+ },
1213
+ {
1214
+ resources : & corev1.ResourceRequirements {
1215
+ Requests : corev1.ResourceList {
1216
+ corev1 .ResourceCPU : resource .MustParse ("1000" ),
1217
+ corev1 .ResourceMemory : resource .MustParse ("100Mi" ),
1218
+ },
1219
+ },
1220
+ expectedElements : map [string ]int {"cpu" : 1 , "memory" : 1 , "Requests" : 1 , "1k" : 1 , "100Mi" : 1 },
1221
+ },
1222
+ }
1223
+
1224
+ for i , testCase := range testCases {
1225
+ t .Run (fmt .Sprintf ("%d" , i ), func (t * testing.T ) {
1226
+ out := new (bytes.Buffer )
1227
+ writer := NewPrefixWriter (out )
1228
+ describeResources (testCase .resources , writer , LEVEL_1 )
1229
+ output := out .String ()
1230
+ gotElements := make (map [string ]int )
1231
+ for key , val := range testCase .expectedElements {
1232
+ count := strings .Count (output , key )
1233
+ if count == 0 {
1234
+ t .Errorf ("expected to find %q in output: %q" , val , output )
1235
+ continue
1236
+ }
1237
+ gotElements [key ] = count
1238
+ }
1239
+
1240
+ if ! reflect .DeepEqual (gotElements , testCase .expectedElements ) {
1241
+ t .Errorf ("Expected %v, got %v in output string: %q" , testCase .expectedElements , gotElements , output )
1242
+ }
1243
+ })
1244
+ }
1245
+ }
1246
+
1182
1247
func TestDescribeContainers (t * testing.T ) {
1183
1248
trueVal := true
1184
1249
testCases := []struct {
0 commit comments