Resource Quota should not let fractional values for API resources

This commit is contained in:
derekwaynecarr
2015-10-13 17:27:56 -04:00
parent 376438b69c
commit 62b4467c69
3 changed files with 66 additions and 8 deletions

View File

@@ -3244,6 +3244,21 @@ func TestValidateResourceQuota(t *testing.T) {
},
}
fractionalComputeSpec := api.ResourceQuotaSpec{
Hard: api.ResourceList{
api.ResourceCPU: resource.MustParse("100m"),
},
}
fractionalPodSpec := api.ResourceQuotaSpec{
Hard: api.ResourceList{
api.ResourcePods: resource.MustParse(".1"),
api.ResourceServices: resource.MustParse(".5"),
api.ResourceReplicationControllers: resource.MustParse("1.25"),
api.ResourceQuotas: resource.MustParse("2.5"),
},
}
successCases := []api.ResourceQuota{
{
ObjectMeta: api.ObjectMeta{
@@ -3252,6 +3267,13 @@ func TestValidateResourceQuota(t *testing.T) {
},
Spec: spec,
},
{
ObjectMeta: api.ObjectMeta{
Name: "abc",
Namespace: "foo",
},
Spec: fractionalComputeSpec,
},
}
for _, successCase := range successCases {
@@ -3284,6 +3306,10 @@ func TestValidateResourceQuota(t *testing.T) {
api.ResourceQuota{ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: negativeSpec},
isNegativeErrorMsg,
},
"fractional-api-resource": {
api.ResourceQuota{ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: "foo"}, Spec: fractionalPodSpec},
isNotIntegerErrorMsg,
},
}
for k, v := range errorCases {
errs := ValidateResourceQuota(&v.R)