MCPcopy
hub / github.com/olahol/melody / TestSessionKeys

Function TestSessionKeys

melody_test.go:610–645  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

608}
609
610func TestSessionKeys(t *testing.T) {
611 ws := NewTestServer()
612
613 ws.m.HandleConnect(func(session *Session) {
614 session.Set("stamp", time.Now().UnixNano())
615 })
616 ws.m.HandleMessage(func(session *Session, msg []byte) {
617 stamp := session.MustGet("stamp").(int64)
618 session.Write([]byte(strconv.Itoa(int(stamp))))
619 })
620 server := httptest.NewServer(ws)
621 defer server.Close()
622
623 fn := func(msg string) bool {
624 conn := MustNewDialer(server.URL)
625 defer conn.Close()
626
627 conn.WriteMessage(websocket.TextMessage, []byte(msg))
628
629 _, ret, err := conn.ReadMessage()
630
631 assert.Nil(t, err)
632
633 stamp, err := strconv.Atoi(string(ret))
634
635 assert.Nil(t, err)
636
637 diff := int(time.Now().UnixNano()) - stamp
638
639 assert.Greater(t, diff, 0)
640
641 return true
642 }
643
644 assert.Nil(t, quick.Check(fn, nil))
645}
646
647func TestSessionKeysConcurrent(t *testing.T) {
648 ss := make(chan *Session)

Callers

nothing calls this directly

Calls 8

NewTestServerFunction · 0.85
MustNewDialerFunction · 0.85
HandleConnectMethod · 0.80
SetMethod · 0.80
HandleMessageMethod · 0.80
MustGetMethod · 0.80
WriteMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…