MCPcopy
hub / github.com/baetyl/baetyl / TestHandlerDownsideLabels

Function TestHandlerDownsideLabels

engine/msg_handler_test.go:195–317  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

193}
194
195func TestHandlerDownsideLabels(t *testing.T) {
196 e, ami, _ := genHandlerDownsideEngine(t)
197 h := &handlerDownside{engineImpl: e}
198
199 // test
200 ch, err := e.pb.Subscribe(sync.TopicUpside)
201 assert.NoError(t, err)
202 assert.NotNil(t, ch)
203
204 handler := &msgLabelUpside{t: t}
205 pro := pubsub.NewProcessor(ch, 0, handler)
206 pro.Start()
207
208 // msg 8 update node label success
209 engMsgWG.Add(1)
210 msg8 := &specV1.Message{
211 Kind: specV1.MessageCMD,
212 Metadata: map[string]string{
213 "cmd": specV1.MessageCommandNodeLabel,
214 "subName": "node01",
215 },
216 Content: specV1.LazyValue{
217 Value: map[string]string{
218 "beta.kubernetes.io/arch": "amd64",
219 "beta.kubernetes.io/os": "linux",
220 "kubernetes.io/arch": "amd64",
221 "kubernetes.io/hostname": "docker-desktop",
222 "kubernetes.io/os": "linux",
223 "node-role.kubernetes.io/master": "",
224 "a": "b",
225 },
226 },
227 }
228 ami.EXPECT().UpdateNodeLabels("node01", gomock.Any()).Return(nil).Times(1)
229 handler.check = func(msg interface{}) {
230 m, ok := msg.(*specV1.Message)
231 assert.True(t, ok)
232 assert.Equal(t, "true", m.Metadata["success"])
233 engMsgWG.Done()
234 }
235 err = h.OnMessage(msg8)
236 assert.NoError(t, err)
237 engMsgWG.Wait()
238
239 // msg 9 update node label err sub name
240 engMsgWG.Add(1)
241 msg9 := &specV1.Message{
242 Kind: specV1.MessageCMD,
243 Metadata: map[string]string{
244 "cmd": specV1.MessageCommandNodeLabel,
245 },
246 }
247 handler.check = func(msg interface{}) {
248 m, ok := msg.(*specV1.Message)
249 assert.True(t, ok)
250 assert.Equal(t, "false", m.Metadata["success"])
251 assert.Equal(t, ErrSubNodeName, m.Metadata["msg"])
252 engMsgWG.Done()

Callers

nothing calls this directly

Calls 6

OnMessageMethod · 0.95
genHandlerDownsideEngineFunction · 0.85
StartMethod · 0.65
UpdateNodeLabelsMethod · 0.65
SubscribeMethod · 0.45
EXPECTMethod · 0.45

Tested by

no test coverage detected