Skip to content

Commit

Permalink
add GetPodResource test
Browse files Browse the repository at this point in the history
  • Loading branch information
CMGS committed Nov 28, 2018
1 parent 4033ce6 commit 71c2cc6
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.11.23
18.11.28
4 changes: 2 additions & 2 deletions cluster/calcium/resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ func (c *Calcium) PodResource(ctx context.Context, podname string) (*types.PodRe
for i, v := range cpumap {
if node.InitCPU[i] != v {
r.Diff[node.Name] = false
r.Detail[node.Name] += fmt.Sprintf("cpu %s now %d", i, v)
r.Detail[node.Name] += fmt.Sprintf("cpu %s now %d ", i, v)
}
}
if memory+node.MemCap != node.InitMemCap {
r.Diff[node.Name] = false
r.Detail[node.Name] += fmt.Sprintf("mem now %d", node.InitMemCap-(memory+node.MemCap))
r.Detail[node.Name] += fmt.Sprintf("mem now %d ", node.InitMemCap-(memory+node.MemCap))
}

}
Expand Down
44 changes: 44 additions & 0 deletions cluster/calcium/resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,50 @@ import (
"github.com/projecteru2/core/types"
)

func TestPodResource(t *testing.T) {
c := NewTestCluster()
ctx := context.Background()
podname := "testpod"
nodename := "testnode"
store := &storemocks.Store{}
c.store = store
// failed by GetNodesByPod
store.On("GetNodesByPod", mock.Anything, mock.Anything).Return(nil, types.ErrBadPodType).Once()
_, err := c.PodResource(ctx, podname)
assert.Error(t, err)
node := &types.Node{
Name: nodename,
CPU: types.CPUMap{"0": 0, "1": 10},
MemCap: 2,
InitCPU: types.CPUMap{"0": 100, "1": 100},
InitMemCap: 6,
}
store.On("GetNodesByPod", mock.Anything, mock.Anything).Return([]*types.Node{node}, nil)
// failed by ListNodeContainers
store.On("ListNodeContainers", mock.Anything, mock.Anything).Return(nil, types.ErrBadPodType).Once()
_, err = c.PodResource(ctx, podname)
assert.Error(t, err)
containers := []*types.Container{
&types.Container{
Memory: 1,
CPU: types.CPUMap{"0": 100, "1": 30},
Quota: 1.3,
},
&types.Container{
Memory: 2,
CPU: types.CPUMap{"1": 50},
Quota: 0.5,
},
}
store.On("ListNodeContainers", mock.Anything, mock.Anything).Return(containers, nil)
// success
r, err := c.PodResource(ctx, podname)
assert.NoError(t, err)
assert.Len(t, r.CPUPercent, 1)
assert.Len(t, r.MEMPercent, 1)
assert.False(t, r.Diff[nodename])
}

func TestAllocResource(t *testing.T) {
c := NewTestCluster()
ctx := context.Background()
Expand Down

0 comments on commit 71c2cc6

Please sign in to comment.