UNPKG

1.06 kBtext/coffeescriptView Raw
1uuid = require 'uuid'
2Redis = require 'ioredis'
3MultiHydrantManager = require '../src/multi-hydrant-manager'
4
5describe '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'