@@ -994,13 +994,14 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
994994 Pool : goodName ,
995995 Device : goodName ,
996996 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 },
10041005 },
10051006 Data : runtime.RawExtension {
10061007 Raw : []byte (`{"kind": "foo", "apiVersion": "dra.example.com/v1"}` ),
@@ -1013,6 +1014,8 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
10131014 "2001:db8::/64" ,
10141015 "10.9.8.1/24" ,
10151016 "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" ,
10161019 },
10171020 },
10181021 },
@@ -1096,9 +1099,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
10961099 },
10971100 deviceStatusFeatureGate : true ,
10981101 },
1099- "invalid-data-device-status-too-long " : {
1102+ "invalid-data-device-status-limits " : {
11001103 wantFailures : field.ErrorList {
1104+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("conditions" ), maxConditions + 1 , maxConditions ),
11011105 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 ),
11021107 },
11031108 oldClaim : func () * resource.ResourceClaim { return validAllocatedClaim }(),
11041109 update : func (claim * resource.ResourceClaim ) * resource.ResourceClaim {
@@ -1108,6 +1113,23 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
11081113 Pool : goodName ,
11091114 Device : goodName ,
11101115 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+ },
11111133 },
11121134 }
11131135 return claim
@@ -1206,9 +1228,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
12061228 },
12071229 deviceStatusFeatureGate : false ,
12081230 },
1209- "invalid-data-device-status-too-long -feature-gate" : {
1231+ "invalid-data-device-status-limits -feature-gate" : {
12101232 wantFailures : field.ErrorList {
1233+ field .TooMany (field .NewPath ("status" , "devices" ).Index (0 ).Child ("conditions" ), maxConditions + 1 , maxConditions ),
12111234 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 ),
12121236 },
12131237 oldClaim : func () * resource.ResourceClaim { return validAllocatedClaim }(),
12141238 update : func (claim * resource.ResourceClaim ) * resource.ResourceClaim {
@@ -1218,6 +1242,23 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
12181242 Pool : goodName ,
12191243 Device : goodName ,
12201244 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+ },
12211262 },
12221263 }
12231264 return claim
@@ -1250,6 +1291,11 @@ func TestValidateClaimStatusUpdate(t *testing.T) {
12501291
12511292 scenario .oldClaim .ResourceVersion = "1"
12521293 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+ }
12531299 assertFailures (t , scenario .wantFailures , errs )
12541300 })
12551301 }
0 commit comments