Skip to content
This repository has been archived by the owner on Dec 8, 2023. It is now read-only.

Commit

Permalink
Add a test
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanmikaelian committed Jun 5, 2017
1 parent 0bd014c commit 1fac29f
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions test/librato_tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const serverPort = 36001;
const librato = require('../lib/librato.js');
const nock = require('nock');
const sinon = require('sinon');
const http = require('http');

const config = {
debug: false,
Expand Down Expand Up @@ -94,10 +95,12 @@ module.exports.tags = {
.defaultReplyHeaders({'Content-Type': 'application/json'});

librato.init(null, config, this.emitter);
this.httpSpy = sinon.spy(http, 'request');
callback();
},

tearDown: function(callback) {
http.request.restore();
callback();
},

Expand Down Expand Up @@ -262,6 +265,36 @@ module.exports.tags = {
this.emitter.emit('flush', 123, metrics);
},

testBatchProperFlushes: function(test) {
test.expect(4);
var gauges = {};
for (var i = 0; i < 500; i++) {
var key = 'gauge' + i;
gauges[key] = 1;
}
var metrics = {gauges: gauges};
this.apiServer.post('/v1/measurements')
.reply(200, (uri, requestBody) => {
test.ok(requestBody.measurements);
// Should be one submission because we hit our maxBatchSize
test.ok(this.httpSpy.calledOnce);
});

this.emitter.emit('flush', 123, metrics);

setTimeout(() => {
this.httpSpy.reset();
this.apiServer.post('/v1/measurements')
.reply(200, (uri, requestBody) => {
test.ok(requestBody.measurements);
// Should be one submission because we hit our maxBatchSize
test.ok(this.httpSpy.calledOnce);
test.done();
});
this.emitter.emit('flush', 123, metrics);
}, 500);
},

testValidMeasurementTopLevelTag: function(test) {
config.librato.host = '127.0.0.1';
config.librato.tags = {test: true};
Expand Down

0 comments on commit 1fac29f

Please sign in to comment.