diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4e23f84 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +test: + ./node_modules/jasme/run.js +lint: + node_modules/eslint/bin/eslint.js . \ No newline at end of file diff --git a/package.json b/package.json index b4483ce..91b9488 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "express-prom-bundle", "version": "1.0.0", - "description": "express middleware with standard prometheus metrics in one bundle", + "description": "express middleware with popular prometheus metrics in one bundle", "main": "src/index.js", "directories": { "test": "test" @@ -16,6 +16,9 @@ "prom-client": "^3.4.0" }, "devDependencies": { - "eslint": "^2.8.0" + "eslint": "^2.8.0", + "express": "^4.13.4", + "jasme": "^4.1.1", + "supertest": "^1.2.0" } } diff --git a/spec/indexSpec.js b/spec/indexSpec.js new file mode 100644 index 0000000..d5afd16 --- /dev/null +++ b/spec/indexSpec.js @@ -0,0 +1,24 @@ +"use strict"; +/* eslint-env jasmine */ + +let express = require("express"), + request = require("supertest"), + bundle = require("../"); + +describe("index", () => { + const app = express(); + + app.use(bundle({ + prefix: "hello" + })); + + it("/metrics returns up=1", done => { + request(app) + .get("/metrics") + .end((err, res) => { + expect(res.status).toBe(200); + expect(res.text).toMatch(/hello:up\s1/); + done(); + }); + }); +}); \ No newline at end of file diff --git a/src/PrometheusHelper.js b/src/PrometheusHelper.js index 7e5f41e..aa8f04c 100644 --- a/src/PrometheusHelper.js +++ b/src/PrometheusHelper.js @@ -1,9 +1,7 @@ "use strict"; -const onFinished = require("on-finished"); - module.exports = class { - constructor(opts, promClient) { + constructor(opts) { this.opts = opts || {}; this.promClient = this.opts.promClient || require("prom-client"); this.metrics = {};