MCPcopy Create free account
hub / github.com/gavv/httpexpect / checkCode

Method checkCode

websocket_message.go:354–415  ·  view source on GitHub ↗
(opChain *chain, codes ...int)

Source from the content-addressed store, hash-verified

352}
353
354func (wm *WebsocketMessage) checkCode(opChain *chain, codes ...int) {
355 if opChain.failed() {
356 return
357 }
358
359 if len(codes) == 0 {
360 opChain.fail(AssertionFailure{
361 Type: AssertUsage,
362 Errors: []error{
363 errors.New("missing code argument"),
364 },
365 })
366 return
367 }
368
369 if wm.typ != websocket.CloseMessage {
370 opChain.fail(AssertionFailure{
371 Type: AssertEqual,
372 Actual: &AssertionValue{wsMessageType(wm.typ)},
373 Expected: &AssertionValue{wsMessageType(websocket.CloseMessage)},
374 Errors: []error{
375 errors.New("expected: close message"),
376 },
377 })
378 return
379 }
380
381 found := false
382 for _, c := range codes {
383 if c == wm.closeCode {
384 found = true
385 break
386 }
387 }
388
389 if !found {
390 if len(codes) == 1 {
391 opChain.fail(AssertionFailure{
392 Type: AssertEqual,
393 Actual: &AssertionValue{wsCloseCode(wm.closeCode)},
394 Expected: &AssertionValue{wsCloseCode(codes[0])},
395 Errors: []error{
396 errors.New("expected: close codes are equal"),
397 },
398 })
399 } else {
400 codeList := make([]interface{}, 0, len(codes))
401 for _, c := range codes {
402 codeList = append(codeList, wsCloseCode(c))
403 }
404
405 opChain.fail(AssertionFailure{
406 Type: AssertBelongs,
407 Actual: &AssertionValue{wsCloseCode(wm.closeCode)},
408 Expected: &AssertionValue{AssertionList(codeList)},
409 Errors: []error{
410 errors.New("expected: close code belongs to given list"),
411 },

Callers 1

CodeMethod · 0.95

Calls 5

wsMessageTypeTypeAlias · 0.85
wsCloseCodeTypeAlias · 0.85
AssertionListTypeAlias · 0.85
failedMethod · 0.80
failMethod · 0.80

Tested by

no test coverage detected