Skip to content

Commit 1537301

Browse files
authored
fix(publish): channel is Buffer for messageBuffer event (#1206)
fixes #1205
1 parent 6fbeaf3 commit 1537301

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

src/commands-utils/emitMessage.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
export default function emitMessage(redisMock, channel, message, pattern) {
22
process.nextTick(() => {
3+
const [patternEvent, regularEvent, channelToEmit] = Buffer.isBuffer(message)
4+
? ['pmessageBuffer', 'messageBuffer', Buffer.from(channel)]
5+
: ['pmessage', 'message', channel]
36
if (pattern) {
4-
redisMock.emit(
5-
Buffer.isBuffer(message) ? 'pmessageBuffer' : 'pmessage',
6-
pattern,
7-
channel,
8-
message
9-
)
7+
redisMock.emit(patternEvent, pattern, channelToEmit, message)
108
} else {
11-
redisMock.emit(
12-
Buffer.isBuffer(message) ? 'messageBuffer' : 'message',
13-
channel,
14-
message
15-
)
9+
redisMock.emit(regularEvent, channelToEmit, message)
1610
}
1711
})
1812
}

test/integration/commands/publish.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ runTwinSuite('publish', command => {
3939
const redis2 = new Redis()
4040
const buffer = Buffer.alloc(8)
4141
redisPubSub.on('messageBuffer', (channel, message) => {
42-
expect(channel).toBe('emails')
42+
expect(channel).toEqual(Buffer.from('emails'))
4343
expect(message).toBe(buffer)
4444
redisPubSub.unsubscribe('emails')
4545
done()
@@ -77,7 +77,7 @@ runTwinSuite('publish', command => {
7777
const buffer = Buffer.alloc(0)
7878
redisPubSub.on('pmessageBuffer', (pattern, channel, message) => {
7979
expect(pattern).toBe('emails.*')
80-
expect(channel).toBe('emails.urgent')
80+
expect(channel).toEqual(Buffer.from('emails.urgent'))
8181
expect(message).toBe(buffer)
8282
redisPubSub.punsubscribe('emails.*')
8383
done()

0 commit comments

Comments
 (0)