mirror of
https://github.com/mochi-mqtt/server.git
synced 2025-10-21 15:19:29 +08:00
clarify error checking
This commit is contained in:
@@ -301,7 +301,7 @@ func TestServerEstablishConnectionOKCleanSession(t *testing.T) {
|
|||||||
require.Equal(t, true, ok)
|
require.Equal(t, true, ok)
|
||||||
|
|
||||||
errx := <-o
|
errx := <-o
|
||||||
require.True(t, errors.Is(errx, ErrClientDisconnect))
|
require.ErrorIs(t, errx, ErrClientDisconnect)
|
||||||
|
|
||||||
require.Equal(t, []byte{
|
require.Equal(t, []byte{
|
||||||
byte(packets.Connack << 4), 2,
|
byte(packets.Connack << 4), 2,
|
||||||
@@ -353,7 +353,7 @@ func TestServerEventOnConnect(t *testing.T) {
|
|||||||
require.Equal(t, true, ok)
|
require.Equal(t, true, ok)
|
||||||
|
|
||||||
errx := <-o
|
errx := <-o
|
||||||
require.True(t, errors.Is(errx, ErrClientDisconnect))
|
require.ErrorIs(t, errx, ErrClientDisconnect)
|
||||||
require.Equal(t, []byte{
|
require.Equal(t, []byte{
|
||||||
byte(packets.Connack << 4), 2,
|
byte(packets.Connack << 4), 2,
|
||||||
0, packets.Accepted,
|
0, packets.Accepted,
|
||||||
@@ -425,7 +425,7 @@ func TestServerEventOnDisconnect(t *testing.T) {
|
|||||||
require.Equal(t, true, ok)
|
require.Equal(t, true, ok)
|
||||||
|
|
||||||
errx := <-o
|
errx := <-o
|
||||||
require.True(t, errors.Is(errx, ErrClientDisconnect))
|
require.ErrorIs(t, errx, ErrClientDisconnect)
|
||||||
|
|
||||||
require.Equal(t, []byte{
|
require.Equal(t, []byte{
|
||||||
byte(packets.Connack << 4), 2,
|
byte(packets.Connack << 4), 2,
|
||||||
@@ -441,7 +441,7 @@ func TestServerEventOnDisconnect(t *testing.T) {
|
|||||||
Listener: "tcp",
|
Listener: "tcp",
|
||||||
}, hook.client)
|
}, hook.client)
|
||||||
|
|
||||||
require.True(t, errors.Is(hook.err, ErrClientDisconnect))
|
require.ErrorIs(t, ErrClientDisconnect, hook.err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServerEventOnDisconnectOnError(t *testing.T) {
|
func TestServerEventOnDisconnectOnError(t *testing.T) {
|
||||||
@@ -451,7 +451,7 @@ func TestServerEventOnDisconnectOnError(t *testing.T) {
|
|||||||
|
|
||||||
s.Events.OnError = func(cl events.Client, err error) {
|
s.Events.OnError = func(cl events.Client, err error) {
|
||||||
// Do not allow
|
// Do not allow
|
||||||
panic(err)
|
panic(fmt.Errorf("unreachable error"))
|
||||||
}
|
}
|
||||||
|
|
||||||
var hook errorHook
|
var hook errorHook
|
||||||
@@ -545,7 +545,7 @@ func TestServerEstablishConnectionOKInheritSession(t *testing.T) {
|
|||||||
require.Equal(t, true, ok)
|
require.Equal(t, true, ok)
|
||||||
|
|
||||||
errx := <-o
|
errx := <-o
|
||||||
require.True(t, errors.Is(errx, ErrClientDisconnect))
|
require.ErrorIs(t, errx, ErrClientDisconnect)
|
||||||
require.Equal(t, []byte{
|
require.Equal(t, []byte{
|
||||||
byte(packets.Connack << 4), 2,
|
byte(packets.Connack << 4), 2,
|
||||||
1, packets.Accepted,
|
1, packets.Accepted,
|
||||||
@@ -572,7 +572,7 @@ func TestServerEstablishConnectionBadFixedHeader(t *testing.T) {
|
|||||||
|
|
||||||
r.Close()
|
r.Close()
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.True(t, errors.Is(err, packets.ErrInvalidFlags))
|
require.ErrorIs(t, err, packets.ErrInvalidFlags)
|
||||||
|
|
||||||
require.Equal(t, err, hookE.err)
|
require.Equal(t, err, hookE.err)
|
||||||
|
|
||||||
@@ -610,7 +610,7 @@ func TestServerEstablishConnectionNotConnectPacket(t *testing.T) {
|
|||||||
|
|
||||||
r.Close()
|
r.Close()
|
||||||
require.Error(t, err)
|
require.Error(t, err)
|
||||||
require.True(t, errors.Is(err, ErrReadConnectInvalid))
|
require.ErrorIs(t, err, ErrReadConnectInvalid)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServerEstablishConnectionBadAuth(t *testing.T) {
|
func TestServerEstablishConnectionBadAuth(t *testing.T) {
|
||||||
@@ -652,7 +652,7 @@ func TestServerEstablishConnectionBadAuth(t *testing.T) {
|
|||||||
errx := <-o
|
errx := <-o
|
||||||
time.Sleep(time.Millisecond)
|
time.Sleep(time.Millisecond)
|
||||||
r.Close()
|
r.Close()
|
||||||
require.True(t, errors.Is(errx, ErrConnectionFailed))
|
require.ErrorIs(t, errx, ErrConnectionFailed)
|
||||||
require.Equal(t, []byte{
|
require.Equal(t, []byte{
|
||||||
byte(packets.Connack << 4), 2,
|
byte(packets.Connack << 4), 2,
|
||||||
0, packets.CodeConnectBadAuthValues,
|
0, packets.CodeConnectBadAuthValues,
|
||||||
@@ -1055,7 +1055,7 @@ func TestServerProcessPublishOfflineQueuing(t *testing.T) {
|
|||||||
clw.Stop(errTestStop)
|
clw.Stop(errTestStop)
|
||||||
|
|
||||||
errx := <-o
|
errx := <-o
|
||||||
require.True(t, errors.Is(errx, ErrClientDisconnect))
|
require.ErrorIs(t, errx, ErrClientDisconnect)
|
||||||
ret := <-recv
|
ret := <-recv
|
||||||
|
|
||||||
wanted := []byte{
|
wanted := []byte{
|
||||||
@@ -2042,7 +2042,9 @@ func TestServerCloseClientLWT(t *testing.T) {
|
|||||||
ack2 <- buf
|
ack2 <- buf
|
||||||
}()
|
}()
|
||||||
|
|
||||||
s.closeClient(cl1, true, fmt.Errorf("goodbye"))
|
s.sendLWT(cl1)
|
||||||
|
cl1.Stop(fmt.Errorf("goodbye"))
|
||||||
|
|
||||||
time.Sleep(time.Millisecond)
|
time.Sleep(time.Millisecond)
|
||||||
w2.Close()
|
w2.Close()
|
||||||
|
|
||||||
@@ -2070,14 +2072,16 @@ func TestServerCloseClientClosed(t *testing.T) {
|
|||||||
// seession were taken over or a protocol error had occurred.
|
// seession were taken over or a protocol error had occurred.
|
||||||
cl.Stop(errTestStop)
|
cl.Stop(errTestStop)
|
||||||
|
|
||||||
s.closeClient(cl, true, clients.ErrConnectionClosed)
|
s.sendLWT(cl)
|
||||||
|
cl.Stop(clients.ErrConnectionClosed)
|
||||||
|
|
||||||
// We see the original error that caused the connection to stop.
|
// We see the original error that caused the connection to stop.
|
||||||
require.True(t, errors.Is(cl.StopCause(), errTestStop) || errors.Is(cl.StopCause(), io.EOF))
|
err := cl.StopCause()
|
||||||
|
require.Equal(t, true, errors.Is(err, errTestStop) || errors.Is(err, io.EOF))
|
||||||
|
|
||||||
// Errors were generated in the closeClient() code path.
|
// Errors were generated in the closeClient() code path.
|
||||||
require.Equal(t, 1, hook.cnt)
|
require.Equal(t, 1, hook.cnt)
|
||||||
require.True(t, errors.Is(hook.err, clients.ErrConnectionClosed))
|
require.ErrorIs(t, hook.err, clients.ErrConnectionClosed)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestServerReadStore(t *testing.T) {
|
func TestServerReadStore(t *testing.T) {
|
||||||
|
Reference in New Issue
Block a user