mirror of
https://github.com/go-mqtt/mqtt.git
synced 2025-08-08 22:42:05 +03:00
Add mqtttest NewReadSlicesStub.
This commit is contained in:
@@ -18,6 +18,18 @@ type Transfer struct {
|
|||||||
Err error // result
|
Err error // result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewReadSlicesStub returns a new stub for mqtt.Client ReadSlices with a fixed
|
||||||
|
// return value.
|
||||||
|
func NewReadSlicesStub(fix Transfer) func() (message, topic []byte, err error) {
|
||||||
|
return func() (message, topic []byte, err error) {
|
||||||
|
// use copies to prevent some hard to trace issues
|
||||||
|
message = make([]byte, len(fix.Message))
|
||||||
|
copy(message, fix.Message)
|
||||||
|
topic = []byte(fix.Topic)
|
||||||
|
return message, topic, fix.Err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// NewReadSlicesMock returns a new mock for mqtt.Client ReadSlices, which
|
// NewReadSlicesMock returns a new mock for mqtt.Client ReadSlices, which
|
||||||
// returns the Transfers in order of appearance.
|
// returns the Transfers in order of appearance.
|
||||||
func NewReadSlicesMock(t testing.TB, want ...Transfer) func() (message, topic []byte, err error) {
|
func NewReadSlicesMock(t testing.TB, want ...Transfer) func() (message, topic []byte, err error) {
|
||||||
@@ -39,11 +51,7 @@ func NewReadSlicesMock(t testing.TB, want ...Transfer) func() (message, topic []
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// use copies to prevent some hard to trace issues
|
return NewReadSlicesStub(want[i])()
|
||||||
message = make([]byte, len(want[i].Message))
|
|
||||||
copy(message, want[i].Message)
|
|
||||||
topic = []byte(want[i].Topic)
|
|
||||||
return message, topic, want[i].Err
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,6 +26,7 @@ func TestSignatureMatch(t *testing.T) {
|
|||||||
publishEnqueued = c.PublishExactlyOnce
|
publishEnqueued = c.PublishExactlyOnce
|
||||||
|
|
||||||
// check fits
|
// check fits
|
||||||
|
readSlices = mqtttest.NewReadSlicesStub(mqtttest.Transfer{})
|
||||||
readSlices = mqtttest.NewReadSlicesMock(t)
|
readSlices = mqtttest.NewReadSlicesMock(t)
|
||||||
publish = mqtttest.NewPublishMock(t)
|
publish = mqtttest.NewPublishMock(t)
|
||||||
publish = mqtttest.NewPublishStub(nil)
|
publish = mqtttest.NewPublishStub(nil)
|
||||||
|
Reference in New Issue
Block a user