UNPKG

1.13 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 'amqplib'
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 new winston.Logger
16 transports: [ new winston.transports.Console level: level, colorize: true, timestamp: true ]
17
18deleteExchange = (connection, exchangeName) ->
19 q(connection.createChannel()).then (channel) ->
20 channel.deleteExchange(exchangeName)
21
22connect = ->
23 q(amqp.connect(amqpUrl))
24
25deliver = (connection, queue, topicName, message) ->
26 q(connection.createChannel()).then (channel) ->
27 messageToSend = new Buffer(JSON.stringify(message))
28 channel.publish(topicName, queue, messageToSend)
29 channel.sendToQueue(queue, messageToSend)
30 channel
31
32exports.logger = logger
33exports.deleteExchange = deleteExchange
34exports.connect = connect
35exports.deliver = deliver
36exports.amqpUrl = amqpUrl
37exports.uniqueId = uniqueId