UNPKG

rest-rsmq

Version:
163 lines (155 loc) 5.34 kB
// Generated by CoffeeScript 1.6.3 (function() { var app, async, http, should, _; _ = require("underscore"); should = require("should"); async = require("async"); app = require("../app"); http = require("../test/support/http"); describe('REST-rsmq Test', function() { var m1, m2, q1; before(function(done) { http.createServer(app, done); }); after(function(done) { done(); }); q1 = "mytestQueue"; m1 = null; m2 = null; it('POST /queues/mytestQueue should return 200 and create the queue', function(done) { http.request().post('/queues/' + q1).set('Content-Type', 'application/json').write(JSON.stringify({ vt: 20, maxsize: 2048 })).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.result.should.equal(1); return done(); }); return; }); it('POST /messages/mytestQueue should return 200 and send message 1', function(done) { http.request().post('/messages/' + q1).set('Content-Type', 'application/json').write(JSON.stringify({ message: "Hello World!" })).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.id.length.should.equal(32); m1 = body.id; return done(); }); return; }); it('POST /messages/mytestQueue should return 200 and send message 2', function(done) { http.request().post('/messages/' + q1).set('Content-Type', 'application/json').write(JSON.stringify({ message: "Foo", delay: 20 })).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.id.length.should.equal(32); m2 = body.id; return done(); }); return; }); it('GET /messages/mytestQueue should return message 1', function(done) { http.request().get('/messages/' + q1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.id.should.equal(m1); done(); }); }); it('GET /messages/mytestQueue should not return a message', function(done) { http.request().get('/messages/' + q1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); should.not.exist(body.id); done(); }); }); it('PUT /messages/mytestQueue/message2 to set vt to 0', function(done) { http.request().put('/messages/' + q1 + '/' + m2 + '?vt=0').end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.result.should.equal(1.); done(); }); }); it('GET /messages/mytestQueue should return message 2', function(done) { http.request().get('/messages/' + q1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.id.should.equal(m2); done(); }); }); it('GET /messages/mytestQueue should not return a message', function(done) { http.request().get('/messages/' + q1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); should.not.exist(body.id); done(); }); }); it('DELETE /messages/mytestQueue/:message1 should delete message 1', function(done) { http.request()["delete"]('/messages/' + q1 + '/' + m1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.result.should.equal(1); done(); }); }); it('DELETE /messages/mytestQueue/:message1 should fail', function(done) { http.request()["delete"]('/messages/' + q1 + '/' + m1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.result.should.equal(0); done(); }); }); it('DELETE /messages/mytestQueue/:message2 should delete message 2', function(done) { http.request()["delete"]('/messages/' + q1 + '/' + m2).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.result.should.equal(1); done(); }); }); it('GET /queues/mytestQueue should return our queue attributes', function(done) { http.request().get('/queues/' + q1).end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.maxsize.should.equal(2048); body.totalsent.should.equal(2); done(); }); }); it('GET /queues should return our queue name', function(done) { http.request().get('/queues').end(function(resp) { var body; resp.statusCode.should.equal(200); body = JSON.parse(resp.body); body.queues.should.containEql(q1); done(); }); }); it('DELETE /queues/mytestQueue should return 200 ', function(done) { http.request()["delete"]('/queues/' + q1).expect(200, done); }); }); }).call(this);