| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package server
- import (
- "testing"
- "time"
- )
- func TestSession_SendMessage_SessSendOK(t *testing.T) {
- s := Session{
- msgCh: make(chan XMessage, 1),
- stopCh: make(chan struct{}),
- sendTimeout: sendTimeout,
- }
- if res := s.SendMessage(XMessage{}); res != SessSendOK {
- t.Fatalf("expected SessSendOK, got %+v", res)
- }
- }
- func TestSession_SendMessage_SessSendClosed(t *testing.T) {
- s := Session{
- msgCh: make(chan XMessage, 1),
- stopCh: make(chan struct{}),
- sendTimeout: sendTimeout,
- }
- s.Close()
- if res := s.SendMessage(XMessage{}); res != SessSendClosed {
- t.Fatalf("expected SessSendClosed, got %+v", res)
- }
- }
- func TestSession_SendMessage_SessSendTimeout(t *testing.T) {
- s := Session{
- msgCh: make(chan XMessage),
- stopCh: make(chan struct{}),
- sendTimeout: 0,
- }
- if res := s.SendMessage(XMessage{}); res != SessSendTimeout {
- t.Fatalf("expected SessSendTimeout got %+v", res)
- }
- }
- func TestSession_Close_Twice(t *testing.T) {
- s := Session{
- stopCh: make(chan struct{}),
- }
- s.Close()
- s.Close() // make sure close is idempotent
- if !s.closed {
- t.Fatal("expected session to be closed")
- }
- select {
- case <-s.Closed():
- case <-time.After(1 * time.Second):
- t.Fatalf("channel is not closed")
- }
- }
|