...
1
16
17 package resourcequota
18
19 import (
20 "testing"
21
22 "k8s.io/apimachinery/pkg/api/resource"
23 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
24 genericapirequest "k8s.io/apiserver/pkg/endpoints/request"
25 api "k8s.io/kubernetes/pkg/apis/core"
26 )
27
28 func TestResourceQuotaStrategy(t *testing.T) {
29 if !Strategy.NamespaceScoped() {
30 t.Errorf("ResourceQuota should be namespace scoped")
31 }
32 if Strategy.AllowCreateOnUpdate() {
33 t.Errorf("ResourceQuota should not allow create on update")
34 }
35 resourceQuota := &api.ResourceQuota{
36 ObjectMeta: metav1.ObjectMeta{Name: "foo"},
37 Status: api.ResourceQuotaStatus{
38 Used: api.ResourceList{
39 api.ResourceCPU: resource.MustParse("1"),
40 api.ResourceMemory: resource.MustParse("1Gi"),
41 api.ResourcePods: resource.MustParse("1"),
42 api.ResourceServices: resource.MustParse("1"),
43 api.ResourceReplicationControllers: resource.MustParse("1"),
44 api.ResourceQuotas: resource.MustParse("1"),
45 },
46 Hard: api.ResourceList{
47 api.ResourceCPU: resource.MustParse("100"),
48 api.ResourceMemory: resource.MustParse("4Gi"),
49 api.ResourcePods: resource.MustParse("10"),
50 api.ResourceServices: resource.MustParse("10"),
51 api.ResourceReplicationControllers: resource.MustParse("10"),
52 api.ResourceQuotas: resource.MustParse("1"),
53 },
54 },
55 }
56 Strategy.PrepareForCreate(genericapirequest.NewContext(), resourceQuota)
57 if resourceQuota.Status.Used != nil {
58 t.Errorf("ResourceQuota does not allow setting status on create")
59 }
60 }
61
View as plain text