Skip to content

Commit 71c2cc6

Browse files
committed
add GetPodResource test
1 parent 4033ce6 commit 71c2cc6

File tree

3 files changed

+47
-3
lines changed

3 files changed

+47
-3
lines changed

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18.11.23
1+
18.11.28

cluster/calcium/resource.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,12 @@ func (c *Calcium) PodResource(ctx context.Context, podname string) (*types.PodRe
4949
for i, v := range cpumap {
5050
if node.InitCPU[i] != v {
5151
r.Diff[node.Name] = false
52-
r.Detail[node.Name] += fmt.Sprintf("cpu %s now %d", i, v)
52+
r.Detail[node.Name] += fmt.Sprintf("cpu %s now %d ", i, v)
5353
}
5454
}
5555
if memory+node.MemCap != node.InitMemCap {
5656
r.Diff[node.Name] = false
57-
r.Detail[node.Name] += fmt.Sprintf("mem now %d", node.InitMemCap-(memory+node.MemCap))
57+
r.Detail[node.Name] += fmt.Sprintf("mem now %d ", node.InitMemCap-(memory+node.MemCap))
5858
}
5959

6060
}

cluster/calcium/resource_test.go

+44
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,50 @@ import (
1616
"github.com/projecteru2/core/types"
1717
)
1818

19+
func TestPodResource(t *testing.T) {
20+
c := NewTestCluster()
21+
ctx := context.Background()
22+
podname := "testpod"
23+
nodename := "testnode"
24+
store := &storemocks.Store{}
25+
c.store = store
26+
// failed by GetNodesByPod
27+
store.On("GetNodesByPod", mock.Anything, mock.Anything).Return(nil, types.ErrBadPodType).Once()
28+
_, err := c.PodResource(ctx, podname)
29+
assert.Error(t, err)
30+
node := &types.Node{
31+
Name: nodename,
32+
CPU: types.CPUMap{"0": 0, "1": 10},
33+
MemCap: 2,
34+
InitCPU: types.CPUMap{"0": 100, "1": 100},
35+
InitMemCap: 6,
36+
}
37+
store.On("GetNodesByPod", mock.Anything, mock.Anything).Return([]*types.Node{node}, nil)
38+
// failed by ListNodeContainers
39+
store.On("ListNodeContainers", mock.Anything, mock.Anything).Return(nil, types.ErrBadPodType).Once()
40+
_, err = c.PodResource(ctx, podname)
41+
assert.Error(t, err)
42+
containers := []*types.Container{
43+
&types.Container{
44+
Memory: 1,
45+
CPU: types.CPUMap{"0": 100, "1": 30},
46+
Quota: 1.3,
47+
},
48+
&types.Container{
49+
Memory: 2,
50+
CPU: types.CPUMap{"1": 50},
51+
Quota: 0.5,
52+
},
53+
}
54+
store.On("ListNodeContainers", mock.Anything, mock.Anything).Return(containers, nil)
55+
// success
56+
r, err := c.PodResource(ctx, podname)
57+
assert.NoError(t, err)
58+
assert.Len(t, r.CPUPercent, 1)
59+
assert.Len(t, r.MEMPercent, 1)
60+
assert.False(t, r.Diff[nodename])
61+
}
62+
1963
func TestAllocResource(t *testing.T) {
2064
c := NewTestCluster()
2165
ctx := context.Background()

0 commit comments

Comments
 (0)