(t *testing.T)
| 193 | } |
| 194 | |
| 195 | func 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() |
nothing calls this directly
no test coverage detected