UNPKG

1.24 kBtext/coffeescriptView Raw
1# Configure chai
2chai = require 'chai'
3sinonChai = require 'sinon-chai'
4chai.use(sinonChai)
5global.expect = chai.expect
6
7winston = require 'winston'
8amqp = require('amqp-connection-manager')
9amqpUrl = "amqp://guest:guest@localhost:5672"
10q = require 'q'
11
12uniqueId = -> id = ""; id += Math.random().toString(36).substr(2) while id.length < 32; id.substr 0, 32
13
14logger = (level = 'debug') ->
15 winston.createLogger({
16 transports: [ new winston.transports.Console level: level, colorize: true, timestamp: true ]
17 })
18
19deleteExchange = (connection, exchangeName) ->
20 q(new Promise((resolve, reject) ->
21 connection.createChannel({
22 setup: (amqpChannel) ->
23 amqpChannel.deleteExchange(exchangeName)
24 resolve()
25 })
26 ))
27
28connect = ->
29 q(amqp.connect(amqpUrl))
30
31deliver = (connection, queue, topicName, message) ->
32 q(connection.createChannel()).then (channel) ->
33 messageToSend = new Buffer(JSON.stringify(message))
34 channel.publish(topicName, queue, messageToSend)
35 channel.sendToQueue(queue, messageToSend)
36 channel
37
38exports.logger = logger
39exports.deleteExchange = deleteExchange
40exports.connect = connect
41exports.deliver = deliver
42exports.amqpUrl = amqpUrl
43exports.uniqueId = uniqueId