@@ -994,13 +994,14 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
994
994
Pool : goodName ,
995
995
Device : goodName ,
996
996
Conditions : []metav1.Condition {
997
- {
998
- Type : "test" ,
999
- Status : metav1 .ConditionTrue ,
1000
- Reason : "test_reason" ,
1001
- LastTransitionTime : metav1 .Now (),
1002
- ObservedGeneration : 0 ,
1003
- },
997
+ {Type : "test-0" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
998
+ {Type : "test-1" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
999
+ {Type : "test-2" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1000
+ {Type : "test-3" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1001
+ {Type : "test-4" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1002
+ {Type : "test-5" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1003
+ {Type : "test-6" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1004
+ {Type : "test-7" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1004
1005
},
1005
1006
Data : runtime.RawExtension {
1006
1007
Raw : []byte (`{"kind": "foo", "apiVersion": "dra.example.com/v1"}` ),
@@ -1013,6 +1014,8 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1013
1014
"2001:db8::/64" ,
1014
1015
"10.9.8.1/24" ,
1015
1016
"2001:db8::1/64" ,
1017
+ "10.9.8.2/24" , "10.9.8.3/24" , "10.9.8.4/24" , "10.9.8.5/24" , "10.9.8.6/24" , "10.9.8.7/24" ,
1018
+ "10.9.8.8/24" , "10.9.8.9/24" , "10.9.8.10/24" , "10.9.8.11/24" , "10.9.8.12/24" , "10.9.8.13/24" ,
1016
1019
},
1017
1020
},
1018
1021
},
@@ -1096,9 +1099,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1096
1099
},
1097
1100
deviceStatusFeatureGate : true ,
1098
1101
},
1099
- "invalid-data-device-status-too-long " : {
1102
+ "invalid-data-device-status-limits " : {
1100
1103
wantFailures : field.ErrorList {
1104
+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("conditions" ), maxConditions + 1 , maxConditions ),
1101
1105
field .TooLong (field .NewPath ("status" , "devices" ).Index (0 ).Child ("data" ), "" /* unused */ , resource .OpaqueParametersMaxLength ),
1106
+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("networkData" , "ips" ), maxIPs + 1 , maxIPs ),
1102
1107
},
1103
1108
oldClaim : func () * resource.ResourceClaim { return validAllocatedClaim }(),
1104
1109
update : func (claim * resource.ResourceClaim ) * resource.ResourceClaim {
@@ -1108,6 +1113,23 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1108
1113
Pool : goodName ,
1109
1114
Device : goodName ,
1110
1115
Data : runtime.RawExtension {Raw : []byte (`{"str": "` + strings .Repeat ("x" , resource .OpaqueParametersMaxLength - 9 - 2 + 1 /* too large by one */ ) + `"}` )},
1116
+ Conditions : []metav1.Condition {
1117
+ {Type : "test-0" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1118
+ {Type : "test-1" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1119
+ {Type : "test-2" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1120
+ {Type : "test-3" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1121
+ {Type : "test-4" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1122
+ {Type : "test-5" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1123
+ {Type : "test-6" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1124
+ {Type : "test-7" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1125
+ {Type : "test-8" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1126
+ },
1127
+ NetworkData : & resource.NetworkDeviceData {
1128
+ IPs : []string {
1129
+ "10.9.8.0/24" , "10.9.8.1/24" , "10.9.8.2/24" , "10.9.8.3/24" , "10.9.8.4/24" , "10.9.8.5/24" , "10.9.8.6/24" , "10.9.8.7/24" , "10.9.8.8/24" ,
1130
+ "10.9.8.9/24" , "10.9.8.10/24" , "10.9.8.11/24" , "10.9.8.12/24" , "10.9.8.13/24" , "10.9.8.14/24" , "10.9.8.15/24" , "10.9.8.16/24" ,
1131
+ },
1132
+ },
1111
1133
},
1112
1134
}
1113
1135
return claim
@@ -1206,9 +1228,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1206
1228
},
1207
1229
deviceStatusFeatureGate : false ,
1208
1230
},
1209
- "invalid-data-device-status-too-long -feature-gate" : {
1231
+ "invalid-data-device-status-limits -feature-gate" : {
1210
1232
wantFailures : field.ErrorList {
1233
+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("conditions" ), maxConditions + 1 , maxConditions ),
1211
1234
field .TooLong (field .NewPath ("status" , "devices" ).Index (0 ).Child ("data" ), "" /* unused */ , resource .OpaqueParametersMaxLength ),
1235
+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("networkData" , "ips" ), maxIPs + 1 , maxIPs ),
1212
1236
},
1213
1237
oldClaim : func () * resource.ResourceClaim { return validAllocatedClaim }(),
1214
1238
update : func (claim * resource.ResourceClaim ) * resource.ResourceClaim {
@@ -1218,6 +1242,23 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1218
1242
Pool : goodName ,
1219
1243
Device : goodName ,
1220
1244
Data : runtime.RawExtension {Raw : []byte (`{"str": "` + strings .Repeat ("x" , resource .OpaqueParametersMaxLength - 9 - 2 + 1 /* too large by one */ ) + `"}` )},
1245
+ Conditions : []metav1.Condition {
1246
+ {Type : "test-0" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1247
+ {Type : "test-1" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1248
+ {Type : "test-2" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1249
+ {Type : "test-3" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1250
+ {Type : "test-4" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1251
+ {Type : "test-5" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1252
+ {Type : "test-6" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1253
+ {Type : "test-7" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1254
+ {Type : "test-8" , Status : metav1 .ConditionTrue , Reason : "test_reason" , LastTransitionTime : metav1 .Now (), ObservedGeneration : 0 },
1255
+ },
1256
+ NetworkData : & resource.NetworkDeviceData {
1257
+ IPs : []string {
1258
+ "10.9.8.0/24" , "10.9.8.1/24" , "10.9.8.2/24" , "10.9.8.3/24" , "10.9.8.4/24" , "10.9.8.5/24" , "10.9.8.6/24" , "10.9.8.7/24" , "10.9.8.8/24" ,
1259
+ "10.9.8.9/24" , "10.9.8.10/24" , "10.9.8.11/24" , "10.9.8.12/24" , "10.9.8.13/24" , "10.9.8.14/24" , "10.9.8.15/24" , "10.9.8.16/24" ,
1260
+ },
1261
+ },
1221
1262
},
1222
1263
}
1223
1264
return claim
@@ -1250,6 +1291,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
1250
1291
1251
1292
scenario .oldClaim .ResourceVersion = "1"
1252
1293
errs := ValidateResourceClaimStatusUpdate (scenario .update (scenario .oldClaim .DeepCopy ()), scenario .oldClaim )
1294
+
1295
+ if name == "invalid-data-device-status-limits-feature-gate" {
1296
+ fmt .Println (errs )
1297
+ fmt .Println (scenario .wantFailures )
1298
+ }
1253
1299
assertFailures (t , scenario .wantFailures , errs )
1254
1300
})
1255
1301
}
0 commit comments