(t *testing.T)
| 608 | } |
| 609 | |
| 610 | func 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 | |
| 647 | func TestSessionKeysConcurrent(t *testing.T) { |
| 648 | ss := make(chan *Session) |
nothing calls this directly
no test coverage detected
searching dependent graphs…