UNPKG

2.72 kBtext/coffeescriptView Raw
1{afterEach, beforeEach, describe, it} = global
2{expect} = require 'chai'
3sinon = require 'sinon'
4
5_ = require 'lodash'
6enableDestroy = require 'server-destroy'
7shmock = require 'shmock'
8SocketIO = require 'socket.io'
9
10
11Inquisitor = require '..'
12
13describe 'getMonitoredDeviceSubscriptions', ->
14 beforeEach ->
15
16 meshbluConfig =
17 uuid: 'user-uuid'
18 token: 'user-token'
19 hostname: 'localhost'
20 port: 0xd00d
21 protocol: 'http'
22
23 uuid = 'inquisitor-uuid'
24
25 @userAuth = new Buffer('user-uuid:user-token').toString 'base64'
26 @sut = new Inquisitor {meshbluConfig, uuid}
27
28 it 'should exist', ->
29 expect(@sut).to.exist
30
31 describe '->getMonitoredDeviceSubscriptions', ->
32 beforeEach 'meshblu', ->
33 @meshblu = shmock 0xd00d
34 enableDestroy(@meshblu)
35
36 afterEach (done) ->
37 @meshblu.destroy done
38
39 beforeEach ->
40 @meshblu
41 .get "/v2/devices/inquisitor-uuid/subscriptions"
42 .set 'Authorization', "Basic #{@userAuth}"
43 .reply 200, [
44 {subscriberUuid: 'inquisitor-uuid', emitterUuid: 'device-1', type: 'configure.received'}
45 {subscriberUuid: 'inquisitor-uuid', emitterUuid: 'device-2', type: 'configure.received'}
46 {subscriberUuid: 'inquisitor-uuid', emitterUuid: 'device-2', type: 'message.received'}
47 ]
48
49 beforeEach 'get-subscriptions', ->
50 @meshblu
51 .get '/v2/devices/device-1/subscriptions'
52 .set 'Authorization', "Basic #{@userAuth}"
53 .reply 200, [
54 {subscriberUuid: 'device-1', emitterUuid: 'device-1', type: 'configure.received'}
55 {subscriberUuid: 'device-1', emitterUuid: 'device-3', type: 'configure.received'}
56 ]
57
58 @meshblu
59 .get '/v2/devices/device-2/subscriptions'
60 .set 'Authorization', "Basic #{@userAuth}"
61 .reply 200, [
62 {subscriberUuid: 'device-2', emitterUuid: 'device-1', type: 'configure.received'}
63 {subscriberUuid: 'device-2', emitterUuid: 'device-2', type: 'configure.received'}
64 ]
65
66
67 beforeEach (done) ->
68 @sut.getMonitoredDeviceSubscriptions (error, @subscriptions) => done()
69 return null
70
71 it 'should return an array of objects containing errors associated with devices', ->
72 expected = [
73 {subscriberUuid: 'device-1', emitterUuid: 'device-1', type: 'configure.received'}
74 {subscriberUuid: 'device-1', emitterUuid: 'device-3', type: 'configure.received'}
75 {subscriberUuid: 'device-2', emitterUuid: 'device-1', type: 'configure.received'}
76 {subscriberUuid: 'device-2', emitterUuid: 'device-2', type: 'configure.received'}
77 ]
78 expect(@subscriptions).to.deep.equal expected