@@ -15,31 +15,43 @@ func TestNode(t *testing.T) {
15
15
m := NewMercury (t , etcd .RandClient ())
16
16
ctx := context .Background ()
17
17
nodename := "testnode"
18
+ nodename2 := "testnode2"
18
19
endpoint := "tcp://127.0.0.1:2376"
19
20
podname := "testpod"
20
21
_ , err := m .AddPod (ctx , podname , "CPU" , "" )
21
22
assert .NoError (t , err )
22
23
cpu := 1
23
24
share := 100
24
25
memory := int64 (100 )
26
+ m .config .Scheduler .ShareBase = 100
25
27
labels := map [string ]string {"test" : "1" }
26
28
29
+ // wrong endpoint
27
30
_ , err = m .AddNode (ctx , nodename , "abc" , podname , "" , "" , "" , cpu , share , memory , labels )
28
31
assert .Error (t , err )
32
+ // wrong because engine not mocked
29
33
_ , err = m .AddNode (ctx , nodename , endpoint , podname , "" , "" , "" , cpu , share , memory , labels )
30
- // wrong endpoint
31
34
assert .Error (t , err )
32
- // TODO there is no way to mock docker client, may be run a docker to do it.
33
- // So we test doAddNode
34
- node , err := m .doAddNode (ctx , nodename , endpoint , podname , "" , "" , "" , cpu , share , memory , labels )
35
+
36
+ endpoint = "mock://mockdocker"
37
+ // AddNode
38
+ node , err := m .AddNode (ctx , nodename , endpoint , podname , "" , "" , "" , cpu , share , memory , labels )
35
39
assert .NoError (t , err )
36
40
assert .Equal (t , node .Name , nodename )
37
41
assert .Equal (t , node .CPU ["0" ], 100 )
38
- _ , err = m .doAddNode (ctx , nodename , endpoint , podname , "" , "" , "" , cpu , share , memory , labels )
42
+ // Addnode again will failed
43
+ _ , err = m .AddNode (ctx , nodename , endpoint , podname , "" , "" , "" , cpu , share , memory , labels )
39
44
assert .Error (t , err )
45
+ // Check etcd has node data
40
46
key := fmt .Sprintf (nodeInfoKey , podname , nodename )
41
47
ev , err := m .GetOne (ctx , key )
42
48
assert .NoError (t , err )
49
+ // AddNode with mocked engine and default value
50
+ node3 , err := m .AddNode (ctx , nodename2 , endpoint , podname , "" , "" , "" , 0 , 0 , 0 , labels )
51
+ assert .NoError (t , err )
52
+ assert .Equal (t , node3 .CPU ["0" ], 100 )
53
+ assert .Equal (t , len (node3 .CPU ), 1 )
54
+ assert .Equal (t , node3 .MemCap , int64 (100 ))
43
55
// GetNode
44
56
_ , err = m .GetNode (ctx , "nil" , nodename )
45
57
assert .Error (t , err )
@@ -65,14 +77,14 @@ func TestNode(t *testing.T) {
65
77
assert .Equal (t , len (nodes ), 0 )
66
78
nodes , err = m .GetNodesByPod (ctx , podname )
67
79
assert .NoError (t , err )
68
- assert .Equal (t , len (nodes ), 1 )
80
+ assert .Equal (t , len (nodes ), 2 )
69
81
savedNode = nodes [0 ]
70
82
assert .Equal (t , savedNode .Name , node .Name )
71
83
assert .Equal (t , savedNode .Endpoint , node .Endpoint )
72
84
// GetAllNodes
73
85
nodes , err = m .GetAllNodes (ctx )
74
86
assert .NoError (t , err )
75
- assert .Equal (t , len (nodes ), 1 )
87
+ assert .Equal (t , len (nodes ), 2 )
76
88
savedNode = nodes [0 ]
77
89
assert .Equal (t , savedNode .Name , node .Name )
78
90
assert .Equal (t , savedNode .Endpoint , node .Endpoint )
@@ -165,11 +177,11 @@ Dl0aR0+ZbHq5hv5feDdpeKxMxKkKnCu1cl47gKAyFet5nvK7htBUk9aIph8zDBZj
165
177
cmag5uyTcIogsd5GyOg06jDD1aCqz3FbTX1KQLeSFQUCTT+m100rohrc2rW5m4Al
166
178
RdCPRPt513WozkJZZAjUSP2U
167
179
-----END PRIVATE KEY-----`
168
- nodename2 := "n2 "
169
- node2 , err := m .doAddNode (ctx , nodename2 , endpoint , podname , ca , cert , certkey , cpu , share , memory , labels )
180
+ nodename3 := "nodename3 "
181
+ node2 , err := m .AddNode (ctx , nodename3 , endpoint , podname , ca , cert , certkey , cpu , share , memory , labels )
170
182
assert .NoError (t , err )
171
183
m .config .Docker .CertPath = "/tmp"
172
- _ , err = m .makeDockerClient (ctx , podname , nodename2 , endpoint , true )
184
+ _ , err = m .makeDockerClient (ctx , podname , nodename3 , endpoint , true )
173
185
assert .NoError (t , err )
174
186
// DeleteNode
175
187
m .DeleteNode (ctx , node2 )
0 commit comments