MCPcopy
hub / github.com/nats-io/nats.go / TestParserPing

Function TestParserPing

nats_test.go:455–506  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

453}
454
455func TestParserPing(t *testing.T) {
456 c := &Conn{}
457 c.newReaderWriter()
458 c.bw.switchToPending()
459
460 c.ps = &parseState{}
461
462 if c.ps.state != OP_START {
463 t.Fatalf("Expected OP_START vs %d\n", c.ps.state)
464 }
465 ping := []byte("PING\r\n")
466 err := c.parse(ping[:1])
467 if err != nil || c.ps.state != OP_P {
468 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
469 }
470 err = c.parse(ping[1:2])
471 if err != nil || c.ps.state != OP_PI {
472 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
473 }
474 err = c.parse(ping[2:3])
475 if err != nil || c.ps.state != OP_PIN {
476 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
477 }
478 err = c.parse(ping[3:4])
479 if err != nil || c.ps.state != OP_PING {
480 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
481 }
482 err = c.parse(ping[4:5])
483 if err != nil || c.ps.state != OP_PING {
484 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
485 }
486 err = c.parse(ping[5:6])
487 if err != nil || c.ps.state != OP_START {
488 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
489 }
490 err = c.parse(ping)
491 if err != nil || c.ps.state != OP_START {
492 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
493 }
494 // Should tolerate spaces
495 ping = []byte("PING \r")
496 err = c.parse(ping)
497 if err != nil || c.ps.state != OP_PING {
498 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
499 }
500 c.ps.state = OP_START
501 ping = []byte("PING \r \n")
502 err = c.parse(ping)
503 if err != nil || c.ps.state != OP_START {
504 t.Fatalf("Unexpected: %d : %v\n", c.ps.state, err)
505 }
506}
507
508func TestParserErr(t *testing.T) {
509 c := &Conn{}

Callers

nothing calls this directly

Calls 4

newReaderWriterMethod · 0.95
parseMethod · 0.95
switchToPendingMethod · 0.80
FatalfMethod · 0.80

Tested by

no test coverage detected