Optimize code to reduce redundancy
Signed-off-by: AllenZMC <zhongming.chang@daocloud.io>
This commit is contained in:
parent
e153614477
commit
915afb5947
|
@ -29,22 +29,7 @@ func EmptyResource() *Resource {
|
||||||
// NewResource creates a new resource object from resource list.
|
// NewResource creates a new resource object from resource list.
|
||||||
func NewResource(rl corev1.ResourceList) *Resource {
|
func NewResource(rl corev1.ResourceList) *Resource {
|
||||||
r := &Resource{}
|
r := &Resource{}
|
||||||
for rName, rQuant := range rl {
|
r.Add(rl)
|
||||||
switch rName {
|
|
||||||
case corev1.ResourceCPU:
|
|
||||||
r.MilliCPU += rQuant.MilliValue()
|
|
||||||
case corev1.ResourceMemory:
|
|
||||||
r.Memory += rQuant.Value()
|
|
||||||
case corev1.ResourcePods:
|
|
||||||
r.AllowedPodNumber += rQuant.Value()
|
|
||||||
case corev1.ResourceEphemeralStorage:
|
|
||||||
r.EphemeralStorage += rQuant.Value()
|
|
||||||
default:
|
|
||||||
if lifted.IsScalarResourceName(rName) {
|
|
||||||
r.AddScalar(rName, rQuant.Value())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package util
|
||||||
|
|
||||||
|
import (
|
||||||
|
"reflect"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
corev1 "k8s.io/api/core/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestNewResource(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
rl corev1.ResourceList
|
||||||
|
want *Resource
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "Resource",
|
||||||
|
rl: corev1.ResourceList{
|
||||||
|
corev1.ResourceCPU: *resource.NewMilliQuantity(5, resource.DecimalSI),
|
||||||
|
corev1.ResourceMemory: *resource.NewQuantity(5, resource.BinarySI),
|
||||||
|
corev1.ResourcePods: *resource.NewQuantity(5, resource.DecimalSI),
|
||||||
|
corev1.ResourceEphemeralStorage: *resource.NewQuantity(5, resource.BinarySI),
|
||||||
|
},
|
||||||
|
want: &Resource{
|
||||||
|
MilliCPU: 5,
|
||||||
|
Memory: 5,
|
||||||
|
EphemeralStorage: 5,
|
||||||
|
AllowedPodNumber: 5,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, tt := range tests {
|
||||||
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
if got := NewResource(tt.rl); !reflect.DeepEqual(got, tt.want) {
|
||||||
|
t.Errorf("NewResource() = %v, want %v", got, tt.want)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue