1 | uuid = require 'uuid'
|
2 | Redis = require 'ioredis'
|
3 | MultiHydrantManager = require '../src/multi-hydrant-manager'
|
4 |
|
5 | describe 'MultiHydrantManager', ->
|
6 | beforeEach (done) ->
|
7 | @client = new Redis dropBufferSupport: true
|
8 | @uuidAliasResolver = resolve: (uuid, callback) => callback(null, uuid)
|
9 | @client.on 'ready', done
|
10 |
|
11 | beforeEach 'hydrant setup', ->
|
12 | hydrantClient = new Redis dropBufferSupport: true
|
13 | @sut = new MultiHydrantManager {
|
14 | @uuidAliasResolver
|
15 | client: hydrantClient
|
16 | }
|
17 |
|
18 | describe 'connect', ->
|
19 | beforeEach (done) ->
|
20 | @nonce = Date.now()
|
21 | @sut.once 'message', (@channel, @message) => done()
|
22 | @sut.connect (error) =>
|
23 | return done error if error?
|
24 | @sut.subscribe uuid: 'some-uuid', (error) =>
|
25 | return done error if error?
|
26 | @client.publish 'some-uuid', @nonce, (error) =>
|
27 | return done error if error?
|
28 |
|
29 | it 'should receive a channel and message', ->
|
30 | expect(@message).to.equal @nonce
|
31 | expect(@channel).to.equal 'some-uuid'
|