websocket_error_test.go 812 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package helper
  2. import (
  3. "github.com/gorilla/websocket"
  4. "github.com/stretchr/testify/assert"
  5. "syscall"
  6. "testing"
  7. )
  8. func TestIsUnexpectedWebsocketError(t *testing.T) {
  9. var tests = []struct {
  10. input error
  11. output bool
  12. }{
  13. {nil, false},
  14. {input: &websocket.CloseError{
  15. Code: websocket.CloseGoingAway,
  16. }, output: false},
  17. {input: &websocket.CloseError{
  18. Code: websocket.CloseNoStatusReceived,
  19. }, output: false},
  20. {input: &websocket.CloseError{
  21. Code: websocket.CloseNormalClosure,
  22. }, output: false},
  23. {input: &websocket.CloseError{
  24. Code: websocket.CloseInternalServerErr,
  25. }, output: true},
  26. {
  27. input: syscall.EPIPE,
  28. output: false,
  29. },
  30. }
  31. for _, test := range tests {
  32. if !assert.Equal(t, test.output, IsUnexpectedWebsocketError(test.input)) {
  33. t.Log(test.input)
  34. }
  35. }
  36. }